【发布时间】:2017-09-02 08:16:03
【问题描述】:
我有一个访问 API 的 React on Rails 应用程序。我想将 API 端点配置为 localhost 以进行开发,并将 API 端点配置为我部署的应用程序的 URL 以进行生产。
client/package.json
"scripts": {
"build:production": "NODE_ENV=production webpack --config webpack.config.js",
},
client/webpack.config.js
const devBuild = process.env.NODE_ENV !== 'production';
const config = {
entry: [
'es5-shim/es5-shim',
'es5-shim/es5-sham',
'babel-polyfill',
'./app/bundles/Main/startup/registration',
],
output: {
filename: 'webpack-bundle.js',
path: __dirname + '/../app/assets/webpack',
},
resolve: {
extensions: ['.js', '.jsx'],
},
plugins: [
new webpack.EnvironmentPlugin({ NODE_ENV: 'development' }),
]
}
我看到 process.env.NODE_ENV 在 config/webpack.config.js 中可用(此处用于将源映射开发工具添加到模块导出),但我想要一种方法来查看我的 React 代码中的环境在client/ 的某个地方。如果有的话,我有什么选择?
【问题讨论】:
-
我不确定 React on Rails,但在我的 React 环境中,我可以访问相同的变量 - process.env.NODE_ENV。你试过吗?
-
是的,很遗憾,
process没有在/client中定义。它在 webpack.config 中,但以某种方式访问它或将其传递给客户端目录将是理想的
标签: node.js reactjs react-on-rails