我的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,
选项期望有一个字符串数组。
有没有现成的解决方案呢?不要手动将对象转换为数组。
答案 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'
})
},