i使用 webpack
捆绑客户端,并希望将其用于构建节点/NPM库。我看到我可以将目标指定为node
。从文档,
"node" Compile for usage in a node.js-like environment (use require to load chunks)
但问题是react.js
在编译输出中捆绑在一起。我只需要包括我的源文件和package.json
中列出的任何依赖项。我指定反应为同伴,例如
"peerDependencies": {
"react": ">=0.13",
"react-tap-event-plugin": ">=0.1.3"
},
我还尝试在externals
中定义React,期望它可能仅创建符号而不包括库本身,但它仍然包括react
在编译的输出中。
target: "node",
externals: [{
'react' : 'React',
}]
那么,是否有一种方法可以使用webpack
按服务器端/节点代码捆绑,但也指定不包裹某些依赖项(可以定义为peerDependencies
或devDependencies
)?
詹姆斯在上面写了一个3部分系列。
http://jlongster.com/backend-apps-with-with-webpack-part-i
按照他的代码,将externals
设置为
{ 'babel-core': 'commonjs babel-core',
'babel-loader': 'commonjs babel-loader',
classnames: 'commonjs classnames',
react: 'commonjs react',
...
}
效果很好。