webpack打包node.js后端项目

475 查看

安装依赖

npm install --save-dev webpack babel-loader babel-preset-es2015 babel-preset-stage-0

webpack配置

webpack.config.js

'use strict';

const webpack = require('webpack');

let externals = _externals();

module.exports = {
    entry: {
        app: './app.js',
    },
    target: 'node',
    output: {
        path: './build',
        filename: '[name].js'
    },
    resolve: {
        extensions: ['', '.js']
    },
    externals: externals,
    node: {
        console: true,
        global: true,
        process: true,
        Buffer: true,
        __filename: true,
        __dirname: true,
        setImmediate: true
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel',
                query: {
                    presets: ['es2015','stage-0']
                },
                exclude: /node_modules/
            }
        ]
    },
    plugins: [
        new webpack.optimize.UglifyJsPlugin()
    ]
};

function _externals() {
    let manifest = require('./package.json');
    let dependencies = manifest.dependencies;
    let externals = {};
    for (let p in dependencies) {
        externals[p] = 'commonjs ' + p;
    }
    return externals;
}

项目目录

+controller
+models
+routes
+service
+test
+util
-app.js
-config.json
-gulpfile.js
-models.js
-package.json
-pm2.json
-webpack.config.js

github

https://github.com/ymyang/chain-tree