Babel不会编译一个包含嵌套的package.json文件的文件。

6
我正在使用 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,那么它就可以编译。显然这不是一个真实的情况,但我想了解这里发生了什么。

2
你有没有阅读过 https://babeljs.io/docs/en/config-files ? - loganfsmyth
1
谢谢提供链接。看起来我想将相对的 .babelrc 文件转换成一个全局的 babel.config.js。我已经添加到顶部了。 - tony
1个回答

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
    };
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接