听闻少年二字,当与平庸相斥。这篇文章主要讲述node app.use()src表示local,dist表示prod相关的知识,希望能为你提供帮助。
我正在更新一个有角度的1.6网络应用程序与gulp。我有本地开发人员的gulp watch任务设置,使用browser-sync自动重新加载我的本地源文件。我正在制作一个新的gulp任务build-prod minify / concat等。看起来所有的教程和自述文件都集中在“本地”或“生产”设置上。所以,我想弄清楚并在线之间阅读。
处理节点server.js文件的最佳方法是什么,以便它知道src是本地的,而dist是prod?
app.use('/scripts', express.static(__dirname + '/src/scripts/'));
app.use('/css', express.static(__dirname + '/src/css/'));
app.use('/html', express.static(__dirname + '/src/html'));
app.use('/img', express.static(__dirname + '/src/img'));
需要成为:
app.use('/scripts', express.static(__dirname + '/dist/scripts/'));
app.use('/css', express.static(__dirname + '/dist/css/'));
app.use('/html', express.static(__dirname + '/dist/html'));
app.use('/img', express.static(__dirname + '/dist/img'));
我应该用变量交换src和dist还是有更好的方法在多个环境之间“使用”这些?
答案使用环境变量。
app.use('/scripts', express.static(`${__dirname}/${process.env.client_directory}`));
然后在运行应用程序的过程中设置环境变量。
另一答案您可以使用像dotenv这样的模块将
.env
文件中的环境变量加载到process.env
中。然后,您可以使用node
在app.set('env', 'development')
中设置应用程序的环境。另一答案谢谢(你的)信息。 此外,基于this post,添加到我的gulp命令
npm run gulp-watch
gulp.task('watch', ['set-dev-node-env', 'browser-sync'], function () {
gulp.watch(['./src/**/*.*'], reload);
});
gulp.task('set-dev-node-env', function() {
process.env.NODE_ENV = 'development';
return;
});
【node app.use()src表示local,dist表示prod】并在我的server.js文件中
// environment checker
var port;
var useFolder;
if (process.env.NODE_ENV === 'development') {
port = process.env.PORT = 5000;
useFolder = '/src/';
} else if (process.env.NODE_ENV === 'production') {
port = process.env.PORT = 80;
useFolder = '/dist/';
}app.use('/html', express.static(__dirname + useFolder + 'html'));
推荐阅读
- Android Studio(添加文件后如何“刷新”())
- Android Grid Layout Cardview项目仅在屏幕顶部可见
- ApplicationMaster退出代码杀死的容器是143
- 如何在android中获得2次的差异
- 如何在Bluemix Node-Red Application中发送会议邀请(日历)[关闭]
- 在日历安卓中设置日期
- 如何获取所有当前的Android日历实例
- 如何在Android设备中获取设备日历事件列表()
- 从数据库获取事件并放置日历视图(android)