我如何在 Webpack 中要求一个入口点?

Raf*_*ski 7 javascript entry-point webpack

我试图导出这两段代码 cli.js 和 program.js,其中 cli 依赖于 program 而 program 有一堆其他依赖项......

Webpack 在捆绑 program.js (./a,./b,./c...) 的所有依赖项方面做得很好,并正确忽略了像“jquery”、“bluebird”这样的外部依赖项...

然而,当涉及到捆绑 cli.js .. 它不是引用program.dist.js入口点,而是再次捆绑整个程序的副本......

我怎么能解决这个问题?这是 webpack 的限制吗?或者有什么办法可以解决吗?我目前使用 webpack 2.1.0-beta.27

这是我的webpack.config.js

const path = require('path');

module.exports = {
    entry: {
        cli: './bin/cli.js',
        program: './program.js',
    },
    target: 'node',
    output: {
        libraryTarget: 'umd',
        filename: '[name].dist.js',
        umdNamedDefine: true,
        path: path.resolve(__dirname, 'distribution'),
    },
    externals: [
        /^[a-z\-0-9]+$/
    ]
}
Run Code Online (Sandbox Code Playgroud)

程序.js

let a = require('./a'),
    b = require('./b'),
    c = require('./c');
Run Code Online (Sandbox Code Playgroud)

bin/cli.js

const program = require('../program');
      program.doSomething();
Run Code Online (Sandbox Code Playgroud)

只是一个侧节点...

我无法使用 CommonsChunkPlugin 将其拆分为块,因为它会使我的 cli.dist.js 无法由 node.js 执行,例如 node cli.dist.js