const context = require.context('.', true, /.+\.test\.js?$/);
context.keys().forEach(context);
module.exports = context;
然后配合这样的配置文件即可:
const path = require('path');
const nodeExternals = require('webpack-node-externals');
const {resolve} = require('./webpack.base.config');
resolve.alias.test = path.resolve(__dirname, '../test');
const config = {
target: 'node',
entry: 'test/index.js',
output: {
path: path.resolve(__dirname, '../dist'),
filename: 'test.build.js',
externals: [nodeExternals()],
module: {
rules: [
test: /\.vue$/,
loader: 'vue-loader',
test: /\.js$/,
exclude: /node_modules/,
use: [
loader: 'babel-loader',
options: {
cacheDirectory: true,
test: /\.ya?ml$/,
use: [
'json-loader',
'yaml-loader',
exclude: /node_modules/
test: /\.(css|styl)$/,
loader: 'null-loader',
test: /\.(png|jpg|gif|svg|woff2|eot|woff|ttf|ico)$/,
loader: 'null-loader',
test: /\.pug$/,
loader: 'pug-plain-loader',
mode: 'none',
resolve,
module.exports = config;
执行的时候,直接用 shell 脚本来跑就行。