Javascript 网页包';s定义插件:未定义变量

Javascript 网页包';s定义插件:未定义变量,javascript,express,reactjs,webpack,Javascript,Express,Reactjs,Webpack,我试图使用Webpack的DefinePlugin将一些与环境相关的变量传递到我的React组件中。客户端部分工作正常,服务器端部分返回“MYVARIABLE未定义” 我正在使用Webpack的Node.JS api。重要部分如下。我做错什么了吗?谢谢 webpack.config.js ... webpackConfig.plugins = [ new webpack.DefinePlugin({ MYVARIABLE: 'test-value' }) ] ... serve

我试图使用Webpack的DefinePlugin将一些与环境相关的变量传递到我的React组件中。客户端部分工作正常,服务器端部分返回“MYVARIABLE未定义”

我正在使用Webpack的Node.JS api。重要部分如下。我做错什么了吗?谢谢

webpack.config.js

...
webpackConfig.plugins = [
  new webpack.DefinePlugin({
    MYVARIABLE: 'test-value'
  })
]
...
server.js

...
import webpack from 'webpack'
import webpackConfig from '../config/webpack.config'
...
var compiler = webpack(webpackConfig)
...
组件文件

...
console.log(MYVARIABLE)
...
结果

ReferenceError: MYVARIABLE is not defined
....
您必须使用JSON.stringify('your-value')

根据:

由于插件执行直接文本替换,因此 它必须在字符串本身中包含实际的引号。典型的 这可以使用任意一个替代引号来完成,例如 或使用JSON.stringify('production')

所以你的webpack.config.js应该是

webpackConfig.plugins = [
 new webpack.DefinePlugin({
  MYVARIABLE: JSON.stringify('test-value')
 })
]