Webpack 2:如何排除所有 node_modules 除了
Webpack 2: How to exclude all node_modules except for
我需要在 /node_modules/identicons/
上安装 babel 运行 但是我仍然想排除所有其他包。
原因是 the identicons package 正在使用模板字符串,当我 运行
时中断
"webpack -p"
有问题的字符串 (node_modules/identicons/index.js):
str += `<rect x="${x}" y="${y}" width="${xside}" height="${xside}" style="fill:${color}" />`
Webpack.config.babel
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
//include: /node_modules/identicons/,
use: ["babel-loader"]
},
那个模式应该怎么写?
我想你可以使用正则表达式,比如
exclude: [
/node_modules\/(?!identicons).*/
]
排除整个 node_modules
文件夹,所需模块除外:
{
test: /\.js$/,
exclude: /node_modules\/(?!identicons\/).*/,
}
https://github.com/webpack/webpack/issues/2031#issuecomment-219040479
您可以排除 node_modules
中不属于 identicons
的所有内容:
exclude: /node_modules\/(?!identicons$)/
另一种方式:
exclude: [
{
test: [
path.resolve(__dirname, './node_modules'),
],
exclude: [
path.resolve(__dirname, './node_modules/MODULE_TO_INCLUDE'),
path.resolve(__dirname, './node_modules/ANOTHER_MODULE_TO_INCLUDE'),
]
}
]
对我有用。
我需要在 /node_modules/identicons/
上安装 babel 运行 但是我仍然想排除所有其他包。
原因是 the identicons package 正在使用模板字符串,当我 运行
时中断"webpack -p"
有问题的字符串 (node_modules/identicons/index.js):
str += `<rect x="${x}" y="${y}" width="${xside}" height="${xside}" style="fill:${color}" />`
Webpack.config.babel
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
//include: /node_modules/identicons/,
use: ["babel-loader"]
},
那个模式应该怎么写?
我想你可以使用正则表达式,比如
exclude: [
/node_modules\/(?!identicons).*/
]
排除整个 node_modules
文件夹,所需模块除外:
{
test: /\.js$/,
exclude: /node_modules\/(?!identicons\/).*/,
}
https://github.com/webpack/webpack/issues/2031#issuecomment-219040479
您可以排除 node_modules
中不属于 identicons
的所有内容:
exclude: /node_modules\/(?!identicons$)/
另一种方式:
exclude: [
{
test: [
path.resolve(__dirname, './node_modules'),
],
exclude: [
path.resolve(__dirname, './node_modules/MODULE_TO_INCLUDE'),
path.resolve(__dirname, './node_modules/ANOTHER_MODULE_TO_INCLUDE'),
]
}
]
对我有用。