npx babel 不从 babel.config.js 读取配置

Max*_*ier 6 javascript babeljs react-native babel-cli npx

npx babel index.js从命令行运行时,我希望能看到从 babel.config.js 应用我的 babel 配置

但事实似乎并非如此,因为我想知道为什么会这样?

// babel.config.js
module.exports = function babel(api) {
 api.cache(true);
   return {
     presets: ['module:metro-react-native-babel-preset'],
     plugins: [
       [
         'babel-plugin-root-import',
         {
           rootPathSuffix: './src',
           rootPathPrefix: '~/',
         },
       ],
     ],
   };
 };

// index.js
import { AppRegistry } from 'react-native';
import App from '~/App';
AppRegistry.registerComponent("App Name", () => App)

// Expected output from npx babel index.js
import { AppRegistry } from 'react-native';
import App from './src/App'; // Note the change from '~' to './src' using babel-plugin-root-import
AppRegistry.registerComponent("App Name", () => App)
Run Code Online (Sandbox Code Playgroud)

我注意到在 npx babel --help 中它指出 --no-babelrc 标志忽略 .babelrc 和 .babelignore 文件中的配置。这是否表明调用此命令时不考虑 babel.config.js 文件?

干杯

Mhm*_*z_A 3

babel.config.js babel 7 中引入了配置更改;因此,如果您使用 babel 6.*,它还不能理解项目范围的配置;使用.babelrc升级到 babel 7以便能够使用新功能;我的升级非常顺利且轻松,只需确保您有干净的 git 目录(以防紧急情况:) 并执行即可。