带有动态导入的webpack脚本加载器

时间:2017-10-30 17:09:03

标签: dynamic import webpack loader

webpack.config.js

  resolve: {
    modules: ['node_modules', 'src/client'],
    alias: {
      node_modules: process.cwd() + '/node_modules',
      ace: 'node_modules/ace/build/src'
    }
  }

这有效:

import 'script-loader!ace/ace';
import 'script-loader!ace/theme-monokai';
import 'script-loader!ace/worker-javascript';
import 'script-loader!ace/mode-javascript';

但是使用以下代码我收到错误:

Promise.all([
    import('script-loader!ace/ace');
    import('script-loader!ace/theme-monokai');
    import('script-loader!ace/worker-javascript');
    import('script-loader!ace/mode-javascript');
])
  

[Script Loader] ReferenceError:未定义

我认为脚本加载器与动态导入没有相同的行为!或者我做错了什么:(

1 个答案:

答案 0 :(得分:0)

如果我将此添加到我的webpack.config.js有效......

module: {
  rules: [{
    test: [
      process.cwd() + '/node_modules/ace/build/src/ace',
      process.cwd() + '/node_modules/ace/build/src/theme-monokai',
      process.cwd() + '/node_modules/ace/build/src/mode-json'
    ],
    loader: 'script-loader'
  }]
},

resolve: {
  modules: ['node_modules'],
  alias: {
    node_modules: process.cwd() + '/node_modules',
    ace: 'node_modules/ace/build/src'
  }
}

在代码之后我可以:

Promise.all([
  import('ace/ace'),
  import('ace/theme-monokai'),
  import('ace/mode-javascript')
])