【发布时间】:2018-11-11 12:36:57
【问题描述】:
如果我在 JS 文件中使用 ES6 导入,例如:
import { tempates } from "./templates.js";
webpack 将此转换为:
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _templates_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./templates.js */ "./static/js/templates.js");
这是否意味着我可以使用 ES6 模块并且由于 webpack 的转换它们将也可以在旧的浏览器中工作支持 ES6 模块吗?
如果是:这个 transformation webpack 和一个 babel 之间的区别是什么?描述了 babel 的转换,例如这里: https://babeljs.io/docs/plugins/transform-es2015-modules-commonjs/
在旧版浏览器中ES6 模块兼容性有哪些使用 babel 或 webpack 的优点/缺点?
我使用的是 webpack 4.10.2 版本,这是我的 webpack 配置:
var path = require('path');
module.exports = {
mode: 'development',
entry: './static/js/mainScript.js',
output: {
path: path.resolve(__dirname, 'build'),
filename: 'asterics-grid.bundle.js'
}
};
【问题讨论】:
标签: javascript webpack ecmascript-6 babeljs es6-modules