首页 > 解决方案 > 当我向 babel.config.js 添加忽略选项时,Babel-node 忽略或行为不端

问题描述

我正在使用命令

npx babel-node --ignore=' ' --extensions='.ts,.tsx,.js,.jsx,.es6,.es' test.js

编译名为test.js的脚本。

test.js导入import template from 'lodash-es/template';,我也希望它被编译。

在 babel.config.js添加忽略包含排除选项正则表达式不起作用。如何添加像 babel.config.js 这样的内联--ignore选项 ( )?{ ignore: [/node_modules\/(?!lodash-es)/] }为什么{ ignore: [/node_modules\/(?!lodash-es)/] } 使用@babel/register而不是使用babel.config.js

下面是test.js:

import fs from 'fs';
import template from 'lodash-es/template';
console.log(template);

export default function () {

};

包.json:

"@babel/cli": "^7.7.7",
"@babel/core": "^7.7.7",
"@babel/node": "^7.8.4",

问题似乎类似于https://github.com/facebook/jest/issues/6229

标签: node.jsbabeljsbabel-node

解决方案


我解决了这个问题:--ignore="/node_modules\/(?\!lodash-es)/"

npx babel-node --config-file="./babel.config.js" --ignore="/node_modules\/(?\!lodash-es)/" --extensions='.ts,.tsx,.js,.jsx,.es6,.es' test.js

using--ignore=' '也可以,但你可能会开始得到

[BABEL] Note: The code generator has deoptimised the styling of {filename} as it exceeds the max of 500KB.

因为 Babel 会编译所有导入node_modues的,这是相当昂贵的。


推荐阅读