koa2搭建的后端api项目,能否向前端那样用webpack进行build

用koa2写的服务端项目,领导觉得直接把源码上传到服务器,不是很安全,希望用webpack做到跟前端代码一样,只上传编译后的代码,请问大神有什么好的解决的方案

clipboard.png

这是项目结构

阅读 3.1k
3 个回答
// webpack.config.js
 
const path = require('path')
const webpack = require('webpack')
const _externals = require('externals-dependencies')
module.exports = {
  mode: 'production',
  devtool: 'source-map',
  cache: true,
  entry: {
    app: [
      // 如果polyfill放在这里,打包的时候将不会被external,必须在js里require才能有效external
      // 'babel-polyfill',
      './src/app.js'
    ]
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: '[name].js',
    publicPath: '/dist/',
    chunkFilename: 'js/[id].chunk.js'
  },
  resolve: {
    extensions: ['.js']
  },
  target: 'node',
  externals: [_externals()],
  context: __dirname,
  node: {
    console: true,
    global: true,
    process: true,
    Buffer: true,
    __filename: true,
    __dirname: true,
    setImmediate: true,
    path: true
  },
  module: {
    rules: [
      {
        test: /\.js/,
        exclude: /node_modules/,
        use: ['babel-loader']
      }
    ]
  },
  plugins: [
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: '"production"'
      }
    })
  ]
}

下面是打包后的文件

clipboard.png
externals具体用法可参考这篇文章

可以的,和打包前端项目差不多。需要注意的是webpack的配置里要指定target: 'node',还有externals,externals可以参考这篇文章

问题1:领导?
问题2:上传到哪里?服务器?仓库?

推荐问题
宣传栏