当有嵌套的package.json文件时,Babel不会编译文件

时间:2018-10-21 09:35:40

标签: node.js reactjs webpack babeljs

我正在使用WebPack,Babel和React。我有一个类似于下面的文件夹结构

node_modules/
.babelrc
package.json
    SomeThirdPartyFolder/
        node_modules/
        package.json  
        src/
           FileA.js

我想使用具有jsx内容的FileA,但是它的行为就像Babel不在那样,即它在下面产生了编译错误

  return (
      <div className etc

如果我在SomeThirdPartyFolder中删除package.json,那么它将编译

显然这不是真实情况,但我想了解这里发生的事情

1 个答案:

答案 0 :(得分:2)

(基于loganfsmyth的评论)

我已经将.babelrc文件转换为babel.config.js文件,现在看来可以正常工作。 .babelrc文件为

{
    "presets": [
        "@babel/preset-env",
        "@babel/preset-react"
    ],
    "plugins": [
        [
            "@babel/plugin-proposal-class-properties",
            {
                "loose": true
            }
        ]
    ]
}

替换文件是

module.exports = function (api)
{
    api.cache(true);

    const presets = [
        "@babel/preset-env",
        "@babel/preset-react"
    ];
    const plugins = [
        [
            "@babel/plugin-proposal-class-properties",
            {
                "loose": true
            }
        ]
    ];

    return {
        presets,
        plugins
    };
}