我试图捆绑我的项目,然后要求捆绑的缩小输出。
我的index.js文件如下所示:
const browserHost = require('./hosts/browserHost')
const workerHost = require('./hosts/workerHost')
module.exports = {
initBrowserHost: options => browserHost.init(options),
initWorkerHost: options => workerHost.init(options)
}
需要时,我有两个初始化函数。当我将项目与webpack
捆绑在一起并需要index.min.js
时,我有一个空对象。
Webpack配置:
const TerserPlugin = require('terser-webpack-plugin')
const path = require('path')
module.exports = {
module: {
rules: [
{
test: /\.js$/,
exclude: [
/node_modules/,
/\.unit\.js$/
],
use: ['babel-loader']
}
]
},
node: {
fs: 'empty',
dns: 'empty'
},
target: 'node',
entry: [
'./src/index.js'
],
output: {
path: path.join(__dirname, 'dist'),
filename: 'index.min.js'
},
optimization: {
minimizer: [
new TerserPlugin({
parallel: true,
terserOptions: {
ecma: 6
}
})
]
}
}
我在做什么错了?
答案 0 :(得分:1)
如果您要构建一个供Node_modules使用的库,则需要告知Webpack您要支持Models
(简单来说,就是希望您的使用者从umd
中使用它。或从'yinon_lib'`导入..)。
方法是:
require(yinon_lib)
更多信息:
示例:
https://github.com/stavalfi/lerna-yarn-workspaces-example/tree/master/packages/x-core