我做了这样的事情:
root/
node_modules/
myPackage/
index.js // uses the .env, can access process.env
app.js // uses the .env, can access process.env
.env
在app.js中,流程对象是全局对象,当我导入myPackage时,myPackeg / index.js中也提供了全局对象。一切都好,万岁。
但是,node_modules / myPackage没有捆绑在一起,它只是几个.js文件,入口位于index.js。如果myPackege是通过webpack构建(最小化,损坏)运行的,则它将不再能够从app.js继承全局流程对象。我不明白为什么。
myPackage的Webpack配置没有什么特别的,可编译为ES5,UMD。虽然代码被修改了,但我排除了“进程”的修改,但这没有帮助。
我想念什么?
webpack.config.js(不使用Babel移植到ES5)
module.exports = {
mode: 'production',
entry: './lib/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'myModule',
library: 'myModule',
libraryTarget: 'umd',
},
resolve: {
alias: {
lodash: path.resolve(__dirname, 'node_modules/lodash'),
'bn.js': path.resolve(__dirname, 'node_modules/bn.js'),
},
},
node: {
Buffer: false,
},
};