16

目前正在探索与它相关的 webpack 不同的工具。现在我正在使用 Babel 将ES6代码转换为ES5代码。我遇到了需要一个.babelrc包含 Babel 配置的文件。但是,在 Babel 的网站上我也看到您也可以将这些配置放入package.json文件中。像这样:

包.json 文件:

{
  "name": "webpack-tutorial",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "dev": "webpack --mode development",
    "build": "webpack --mode production"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.5",
    "babel-preset-env": "^1.7.0",
    "webpack": "^4.16.2",
    "webpack-cli": "^3.1.0"
  },
  "babel": {
    "presets": [
        "env"
    ]
  }

}

现在,当我运行npm run devBabel 时,也可以正常工作,并且代码已成功转换。

Babel 是如何知道访问 package.json 文件的?它是否首先查找一个.babelrc文件,然后如果该文件不存在,它会自动在package.json? Webpack 如何与两者Babelpackage.json文件交互以产生此结果?

4

1 回答 1

16

有兴趣的可以去官网看看:

Babel 将在被转译文件的当前目录中查找 .babelrc。如果不存在,它将沿着目录树向上移动,直到找到 .babelrc 或带有 "babel": {} 哈希的 package.json。

于 2018-07-24T11:37:42.117 回答