了解关于 Angular2 Web 应用程序的 ES6 模块
Understanding ES6 modules with regards to Angular2 web application
以下几点解释了我对 ES6 模块在 Angular2 web 应用程序开发方面的理解和问题。
据我了解,模块(export/import)已经在ES6中被引入,并且目前的浏览器支持导出/导入语法,
但它们不支持模块加载。
因为目前的浏览器不支持模块加载,要么我们使用像systemJS这样的模块加载器来加载
通过进行某种 AJAX 调用来模块,或者我们必须使用像 webpack 这样的模块打包器,它将所有模块打包到一个 JS 文件中。
请告诉我第 1 点和第 2 点是否正确。
- 我观察到 tsconfig.json 中的 "target" 属性 大部分时间是 "es5" ,是否应该始终将其设置为 "es5"到 Angular 2 个 Web 应用程序,或者可以根据我们使用的是 systemJS 还是 webpack
来修改它
- 差不多
- 是的,尽管模块系统之间存在差异。
幸运的是,typescript 允许您以单一格式编写,并将根据您传递给它的 module
编译器选项将其编译为正确的系统。
- 我不确定你从哪里得到的统计数据表明
target
通常是 es5
,这取决于应用程序打算 运行 和哪个 es6
您计划使用的功能。
例如 Promise
、const
/let
、箭头函数和许多其他 es6
特性已经在大多数最新的浏览器中实现。
您可以使用兼容性 table(您可以在 MDN 中找到每个功能)检查您计划使用的每个功能,并自行确定是否可以定位 es6
。
如果你不能但仍然想,那么你可以尝试使用 babel.
以下几点解释了我对 ES6 模块在 Angular2 web 应用程序开发方面的理解和问题。
据我了解,模块(export/import)已经在ES6中被引入,并且目前的浏览器支持导出/导入语法, 但它们不支持模块加载。
因为目前的浏览器不支持模块加载,要么我们使用像systemJS这样的模块加载器来加载 通过进行某种 AJAX 调用来模块,或者我们必须使用像 webpack 这样的模块打包器,它将所有模块打包到一个 JS 文件中。
请告诉我第 1 点和第 2 点是否正确。
- 我观察到 tsconfig.json 中的 "target" 属性 大部分时间是 "es5" ,是否应该始终将其设置为 "es5"到 Angular 2 个 Web 应用程序,或者可以根据我们使用的是 systemJS 还是 webpack 来修改它
- 差不多
- 是的,尽管模块系统之间存在差异。
幸运的是,typescript 允许您以单一格式编写,并将根据您传递给它的module
编译器选项将其编译为正确的系统。 - 我不确定你从哪里得到的统计数据表明
target
通常是es5
,这取决于应用程序打算 运行 和哪个es6
您计划使用的功能。
例如Promise
、const
/let
、箭头函数和许多其他es6
特性已经在大多数最新的浏览器中实现。
您可以使用兼容性 table(您可以在 MDN 中找到每个功能)检查您计划使用的每个功能,并自行确定是否可以定位es6
。
如果你不能但仍然想,那么你可以尝试使用 babel.