npx babel 没有从 babel.config.js 读取配置

npx babel not reading configuration from babel.config.js

当从命令行 运行 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)

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

干杯

babel.config.js config change is introduced in babel 7; so if you are using babel 6.*, it doesn't understand project wide configuration yet; either use .babelrc or upgrade to babel 7 能够使用新功能;我已经完成了升级,它非常顺利和无痛,只要确保你有干净的 git 目录(以防万一:) 并执行它。