如何将 webpack 多个条目与业力一起使用?
How to use webpack multiple entries with 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'
},
而且我不想在业力配置中对所有这些路径进行硬编码。
只需包含 webpack 配置并从那里连接所有条目:
var webpackConfig = require('./webpack.config');
...
...
files: webpackConfig.entry,
但 file
选项期望有一个字符串数组。
有现成的解决方案吗?不要手动将对象转换为数组。
我有一个类似的设置,以下是对我有用的设置。在 karma 配置文件中,对于这些文件,只需配置您的测试。对我来说是这样的:
files: [
'./scripts/vendor/jquery.min.js',
// any other global dependency
'./scripts/**/*.spec.js'
]
编辑
由于 webpack 的工作方式,您不需要在 karma 配置中添加项目文件。仅仅因为您的测试将 import/require 测试主题文件,webpack 将捆绑它并且测试将 运行.
结束编辑
然后在预处理器部分:
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'
})
},
我有多个条目的 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'
},
而且我不想在业力配置中对所有这些路径进行硬编码。 只需包含 webpack 配置并从那里连接所有条目:
var webpackConfig = require('./webpack.config');
...
...
files: webpackConfig.entry,
但 file
选项期望有一个字符串数组。
有现成的解决方案吗?不要手动将对象转换为数组。
我有一个类似的设置,以下是对我有用的设置。在 karma 配置文件中,对于这些文件,只需配置您的测试。对我来说是这样的:
files: [
'./scripts/vendor/jquery.min.js',
// any other global dependency
'./scripts/**/*.spec.js'
]
编辑
由于 webpack 的工作方式,您不需要在 karma 配置中添加项目文件。仅仅因为您的测试将 import/require 测试主题文件,webpack 将捆绑它并且测试将 运行.
结束编辑
然后在预处理器部分:
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'
})
},