如何使用webpack多个条目与业力?

时间:2016-04-21 10:18:58

标签: webpack karma-runner karma-webpack

我的webpack配置包含多个条目:

export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client/lib/

我不想在karma配置中硬编码所有这些路径。 只需包含webpack配置并连接其中的所有条目:

entry: {
  'js/app': ['./css/app/style.scss', './js/app/index.js'],
  'js/vendor': ['./js/vendor/index.js', './css/vendor/index.css'],
  'js/snippets': './js/snippets/index.js'
},

但是var webpackConfig = require('./webpack.config'); ... ... files: webpackConfig.entry, 选项期望有一个字符串数组。 有没有现成的解决方案呢?不要手动将对象转换为数组。

1 个答案:

答案 0 :(得分:3)

我有类似的设置,这里有什么对我有用。在karma配置文件中,对于文件只需配置您的测试。对我来说就是这样的:

files: [
  './scripts/vendor/jquery.min.js',
  // any other global dependency
  './scripts/**/*.spec.js'
]

修改

由于webpack的工作原理,您不需要在业力配置中添加项目文件。只是因为您的测试将导入/需要测试主题文件,webpack将捆绑它并且测试将运行。

<强> EndEdit中

然后在预处理器部分:

preprocessors: {
  './scripts/**/*.spec.js': ['webpack']
},

最后,我导入了webpack配置:

const webpackConfig = require('./webpack.config.js');

使用karma-webpack插件,我添加了一个webpack部分,如下所示:

webpack: {
  devtool: webpackConfig.devtool,
  resolve: webpackConfig.resolve,
  module: webpackConfig.module,
  externals: Object.assign({}, webpackConfig.externals, {
    chai: 'chai'
  })
},