如何使用node和express构建生产zip文件?

时间:2018-08-09 16:20:09

标签: javascript node.js angular express webpack

众所周知,当我们使用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"
  }
}

0 个答案:

没有答案