我在Rails 5.2中使用Webpacker gem,并希望通过设置一个NODE_ENV全局变量来访问前端中的环境。
这是我的config/webpack/environment.js文件:
const { environment } = require('@rails/webpacker')
// Bootstrap 3 has a dependency over jQuery:
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
)
module.exports = environment
我发现我需要添加以下插件到webpack,以便能够访问前端环境:
new webpack.DefinePlugin({
'NODE_ENV': JSON.stringify(process.env.NODE_ENV)
})
但是我不知道如何添加它......我尝试了许多选项,包括下面这行,它总是,要么不起作用,要么中断jQuery(即Uncaught ReferenceError:未定义jQuery):
environment.plugins.prepend('Provide',
new webpack.DefinePlugin({
'NODE_ENV': JSON.stringify(process.env.NODE_ENV)
})
)
1条答案
按热度按时间bvuwiixz1#
事实证明,你只需要在前面添加一个新的插件,并给予它一个不同于其他插件的名字。现在我的config/webpack/environment.js看起来像这样:
我现在可以从每个js/jsx文件访问
NODE_ENV
!!这个答案是在CC BY-SA 4.0下由OP oruhtra以edit的形式发布的问题添加插件到带有Rails的Webpack。