首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Babel不会忽略node_modules目录,尽管它在“忽略”配置中

Babel不会忽略node_modules目录,尽管它在“忽略”配置中
EN

Stack Overflow用户
提问于 2017-03-23 23:16:01
回答 3查看 11.2K关注 0票数 6

出于某种原因,babel不会忽略node_modules目录,尽管我在.babelrc文件的"ignore"字段中指定了它。为什么会发生这种情况?如何让babel发挥预期的作用?

我的目标是在将应用程序推送到远程存储库,然后再推送到服务器之前,压缩和损坏ExpressJS应用程序中的所有.js文件(特别是我所有的后端代码)。所以我使用babelbabili

下面是我的.babelrc配置:

代码语言:javascript
复制
{
    "presets": [
        ["latest", {
            "modules": false
        }]
    ],
    "env": {
        "development": {
            "presets": ["stage-0", "react", "babili"]
        },
        "production": {
            "presets": ["stage-0", "react", "babili"]
        }
    },
    "ignore": [
        "node_modules",
        "assets",
        "view",
        "public",
        "test",
        "spec",
        "logs",
        "lib/jasmine_examples",
        "db"
    ]
}

我从命令行运行babel,如下所示:

代码语言:javascript
复制
./node_modules/.bin/babel . -d ~/app_compressed/

babel开始压缩node_modules目录:

代码语言:javascript
复制
node_modules\apache-crypt\gensrc\index.js -> C:\Users\user\app_compressed\node_modules\apache-crypt\gensrc\index.js
node_modules\apache-md5\gensrc\index.js -> C:\Users\user\app_compressed\node_modules\apache-md5\gensrc\index.js
node_modules\babel-preset-env\data\built-in-features.js -> C:\Users\user\app_compressed\node_modules\babel-preset-env\data\built-in-features.js
node_modules\babel-preset-env\data\plugin-features.js -> C:\Users\user\app_compressed\node_modules\babel-preset-env\data\plugin-features.js
node_modules\babel-preset-env\lib\default-includes.js -> C:\Users\user\app_compressed\node_modules\babel-preset-env\lib\default-includes.js
node_modules\babel-preset-env\lib\index.js -> C:\Users\user\app_compressed\node_modules\babel-preset-env\lib\index.js

字面上的错误行为。如何修复它?如何让babel忽略配置中指定的文件夹?

EN

回答 3

Stack Overflow用户

发布于 2017-03-24 00:32:36

Babel开发团队说有一个bug,配置文件中的ignored现在不起作用。

但是,我发现如果您在命令行中传递忽略的目录(使用--ignored选项),一切都会像预期的那样工作得很好。您甚至可以在命令行中传递globs,如**/drafts

代码语言:javascript
复制
./node_modules/.bin/babel . -d ~/app_compressed/ --ignore node_modules,test,assets,stuff,views,public,test,spec,logs,lib/jasmine_examples,db,routes/api/drafts,**/drafts
票数 5
EN

Stack Overflow用户

发布于 2019-09-05 15:44:51

忽略正则表达式的get数组,如下所示

代码语言:javascript
复制
ignore: [
 /node_modules/,
 ...,
]

或者,您可以像这样传递一个回调函数

代码语言:javascript
复制
ignore: [
   /node_modules/,
   function(filepath) {
      return filepath !== "/path/to/es6-file.js";
   },
]
票数 5
EN

Stack Overflow用户

发布于 2019-07-01 21:16:33

在将Vue项目从Cloud9环境移动到我的PC并安装npm依赖项后,我也遇到了同样的问题。

通过以下方式解决了此问题:

使用全局nvm for windows

  • installing
  1. 更新Node.js,然后在Vue CLI中运行build

不过,我不确定是什么起到了作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42980116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档