webpack 打包目标代码 node.js

webpack to bundle code targeting node.js

我使用 webpack 来捆绑客户端,并想用它来构建 node/npm 库。我看到我可以为此将目标指定为 node。来自doc,

"node" Compile for usage in a node.js-like environment (use require to load chunks)

但问题是 react.js 捆绑在编译输出中。我只想包含我的源文件和 package.json 中列出的任何依赖项。我已将 react 指定为 peerDependency,例如

"peerDependencies": {
    "react": ">=0.13",
    "react-tap-event-plugin": ">=0.1.3"
  },

我也尝试在 externals 中定义 react,期望它可能只创建符号而不包含库本身,但它仍然在编译输出中包含 react

 target: "node",
    externals: [{
        'react' : 'React',
    }]

所以,有没有一种方法可以使用webpack通过服务器端/节点代码进行捆绑,同时指定不捆绑某些依赖项(可以定义为peerDependenciesdevDependencies)?

James 写了一个由 3 部分组成的系列文章。

http://jlongster.com/Backend-Apps-with-Webpack--Part-I

按照他的代码,externals 被设置为

{ 'babel-core': 'commonjs babel-core',
  'babel-loader': 'commonjs babel-loader',
  classnames: 'commonjs classnames',
  react: 'commonjs react',
...
}

效果很好。