众所周知,当我们使用Angular时,我们可以运行ng build --prod,它将使用生产环境文件生成一个名为“ dist”的生产构建文件夹。
我有node + express作为后端服务器,我想实现相同的目标。生成一个版本并将其压缩,以便我可以推送到S3。
在节点服务器中,我设置了配置文件,以便可以使用不同的配置NODE_ENV=production
运行npm start
var config = {
production: {
proxy: 'http://xxxxxxxxxx:80000/',
getFileBucket: 'xxxxx-coficon-xxxx-us-east-1',
getFilePrefix: 'private/xxxxxx/export',
paramsKey: 'ApplicationBuilds/xxxxx/dashboard/xxxxx'
},
default: {
proxy: 'http://xxxxx.xxx.xxxxx.com:8000/',
getFileBucket: 'xxxxx-xxxxx-xxxx-us-east-1',
getFilePrefix: 'east2west-replicated/xxxxx/export/',
paramsKey: 'east2west-replicated/xxxx/xxxxx/dashboard/xxxx'
}
}
exports.get = function get(env) {
return config[env] || config.default;
}
在我的server.js中,我的代码为
var config = require('./config').get(process.env.NODE_ENV);
现在,我想在具有生产配置的EC2实例中自动启动该服务器,有没有办法我可以像生产文件夹那样以dist文件夹的形式自动生成构建?
节点服务器只是npm init项目。使用Express。
{
"name": "backendservice",
"version": "1.0.0",
"description": "This service will list down all the s3 objects",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon server.js"
},
"author": "xxx",
"license": "ISC",
"devDependencies": {
"nodemon": "^1.17.5"
},
"dependencies": {
"aws-sdk": "^2.267.1",
"body-parser": "^1.18.3",
"cors": "^2.8.4",
"express": "^4.16.3",
"gpg": "^0.6.0",
"node-ramdisk": "^1.2.2",
"properties-reader": "0.0.16",
"proxy-agent": "^3.0.0",
"s3-tree": "^2.0.0",
"umount": "^1.1.6",
"shelljs": "^0.8.2"
}
}