Javascript webpack排除属性vs webpack节点外部包
在webpack服务器配置文件中Javascript webpack排除属性vs webpack节点外部包,javascript,node.js,reactjs,webpack,server-side-rendering,Javascript,Node.js,Reactjs,Webpack,Server Side Rendering,在webpack服务器配置文件中 module: { rules: [ { test: /\.js?$/, loader: "babel-loader", exclude: /node_modules/, } ] } 排除意味着不编译这些目录,在这种情况下,它只是节点_模块。但是,也有webpack节点外部包 const nodeWebExternals = require("webpack-node-
module: {
rules: [
{
test: /\.js?$/,
loader: "babel-loader",
exclude: /node_modules/,
}
]
}
排除意味着不编译这些目录,在这种情况下,它只是节点_模块。但是,也有webpack节点外部
包
const nodeWebExternals = require("webpack-node-externals");
externals: [nodeWebExternals()],
module.exports对象中的externals属性将告诉webpack,如果节点模块文件夹中存在任何库,则不要将该库捆绑到服务器上的输出捆绑包中
这两者之间的区别是什么?排除选项告诉
babel loader
不要在节点模块
文件夹中转换(现代语法到es5)。如果没有externals
部分,webpack将不会转换语法,而是将捆绑正在使用的每个node\u模块
转换为最终捆绑
通常,当捆绑服务器代码时,不需要捆绑节点模块,因为它作为文件夹存在于服务器中,因此,您告诉webpack将这些模块标记为外部模块,它将为模块生成常规节点,而不是模块代码