Reactjs 如何使用webpack dev中间件设置环境变量?
我有一个webpack项目,它使用webpack开发中间件提供文件服务。这是服务器设置Reactjs 如何使用webpack dev中间件设置环境变量?,reactjs,express,webpack,environment-variables,webpack-dev-middleware,Reactjs,Express,Webpack,Environment Variables,Webpack Dev Middleware,我有一个webpack项目,它使用webpack开发中间件提供文件服务。这是服务器设置 const webpackMiddleware = require("webpack-dev-middleware"); const webpackHotMiddleware = require("webpack-hot-middleware"); const webpack = require("webpack"); const webpackCo
const webpackMiddleware = require("webpack-dev-middleware");
const webpackHotMiddleware = require("webpack-hot-middleware");
const webpack = require("webpack");
const webpackConfig = require("../webpack.config.js");
const compiler = webpack(webpackConfig);
//this enables routing
app.use(history());
app.use(
webpackMiddleware(compiler, {
noInfo: true,
publicPath: webpackConfig.output.publicPath,
})
);
app.use(
webpackHotMiddleware(compiler, {
path: "/__webpack_hmr",
heartbeat: 10 * 1000,
})
);
我安装了“dotenv”包,并在应用程序的根目录中创建了“development.env”。此网页包配置:
require("dotenv").config({ path: "development.env" });
plugins:[
new webpack.DefinePlugin({
"process.env.DB_URL": JSON.stringify(process.env.DB_URL),
"process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV),
}),]
这是development.env:
NODE_ENV=development
DB_URL=mongodb+srv://myURL
仅定义节点_ENV。其他任何内容都返回未定义
console.log(process.env.DB_URL); // undefined
console.log(process.env.NODE_ENV);// development
我必须在服务器上施展魔法,但我不知道怎么做
我使用了命令行选项,它起了作用:
"dev": " nodemon -r dotenv/config index.js --watch client"
但我仍然不明白为什么第一种方法不起作用。当我使用webpack dev server时,我的所有其他spa应用程序都是这样工作的。你的网页配置有
AL
,而env文件有DB\u URL
,也许你也应该在网页包中添加DB\u URL
?您好。这是我的错误。很抱歉我一直在尝试不同的东西,我忘了清理你的网页配置有AL
,而env文件有DB\u URL
,也许你也应该在网页中添加DB\u URL
?嗨。这是我的错误。很抱歉我一直在尝试不同的事情,但我忘了清理