带有 Babel 延迟加载模块的 Webpack 使用 ES6 推荐的 Import() 方法不起作用
Webpack with Babel lazy load module using ES6 recommended Import() approach not working
我正在尝试使用 import() method
使用 webpack 进行代码拆分和延迟加载
import('./myLazyModule').then(function(module) {
// do something with module.myLazyModule
}
我正在
'import' and 'export' may only appear at the top level
注意顶级导入工作正常,我只是在尝试使用 import() 的动态变体时遇到问题
var path = require('path');
module.exports = {
entry: {
main: "./src/app/app.module.js",
},
output: {
path: path.resolve(__dirname, "dist"),
filename: "[name]-application.js"
},
module: {
rules: [
{
test: /\.js$/,
use: [{
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}]
}
]
},
resolve : {
modules : [
'node_modules',
'bower_components'
]
},
devtool : "source-map"
}
编辑:
如果我更改它以便语法读取,它可以工作....但是块注释不能用于标记包。我很困惑,因为文档说以下内容已折旧。
The use of System.import in webpack did not fit the proposed spec, so
it was deprecated in webpack 2.1.0-beta.28 in favor of import().
System.import('./myLazyModule').then(function(module) {
// do something with module.myLazyModule
}
您需要插件 syntax-dynamic-import
才能使用 Babel 的 import()
功能。
安装:
npm install --save-dev @babel/plugin-syntax-dynamic-import
并将其添加到您的插件中:
{
presets: ['es2015'],
plugins: ['@babel/plugin-syntax-dynamic-import']
}
我正在尝试使用 import() method
使用 webpack 进行代码拆分和延迟加载import('./myLazyModule').then(function(module) {
// do something with module.myLazyModule
}
我正在
'import' and 'export' may only appear at the top level
注意顶级导入工作正常,我只是在尝试使用 import() 的动态变体时遇到问题
var path = require('path');
module.exports = {
entry: {
main: "./src/app/app.module.js",
},
output: {
path: path.resolve(__dirname, "dist"),
filename: "[name]-application.js"
},
module: {
rules: [
{
test: /\.js$/,
use: [{
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}]
}
]
},
resolve : {
modules : [
'node_modules',
'bower_components'
]
},
devtool : "source-map"
}
编辑:
如果我更改它以便语法读取,它可以工作....但是块注释不能用于标记包。我很困惑,因为文档说以下内容已折旧。
The use of System.import in webpack did not fit the proposed spec, so it was deprecated in webpack 2.1.0-beta.28 in favor of import().
System.import('./myLazyModule').then(function(module) {
// do something with module.myLazyModule
}
您需要插件 syntax-dynamic-import
才能使用 Babel 的 import()
功能。
安装:
npm install --save-dev @babel/plugin-syntax-dynamic-import
并将其添加到您的插件中:
{
presets: ['es2015'],
plugins: ['@babel/plugin-syntax-dynamic-import']
}