我的["@babel/plugin-syntax-dynamic-import"]
文件中有.babelrc
,并且在尝试使用{导入节点/ npm模块时,我可以成功地对自己项目中的Vue文件使用动态导入。 {1}}使用Webpack构建时出现此错误:
import App from '@something/app';
SyntaxError: \node_modules\@something\app\src\SomeApp.vue: Support for the experimental syntax 'dynamicImport' isn't currently enabled (16:19):
14 | name: 'SomeApp',
15 | components: {
> 16 | SomeCompontent: () => import('./some-dir/SomeCompontent.vue'),
| ^
Add @babel/plugin-syntax-dynamic-import (https://git.io/vb4Sv) to the 'plugins' section of your Babel config to enable parsing.
在我的项目中被启用为插件,并且正在导入节点模块,但是Babel出于某种原因不尊重它。
在导入节点模块时是否还需要做一些额外的工作才能使Babel应用此插件?
谢谢
答案 0 :(得分:0)
因此,正如我在评论中所写,这是Babel中的预期行为。 但是解决这个问题并不是一件容易的事,因此我正在记录如何做到这一点,以防其他任何人都需要它。
您需要使用babel.config.js
而非.babelrc
,这是一种 global 配置方法。文件在这里:https://babeljs.io/docs/en/configuration
尽管确实如此,但只需将.babelrc
复制并粘贴到babel.config.js
并在对象之前添加module.exports =
即可。
将Babel应用于node_modules后,您将创建其他问题。您需要防止Babel践踏自己和core-js
。通过在您的ignore: [/[\/\\]core-js/, /@babel[\/\\]runtime/]
中添加babel.config.js
可以防止这种情况。
最后,由于不能混合使用modules.exports
和export default
,因此您需要防止Babel破坏您的出口。对于我来说,此修复程序似乎有些小毛病,但\\ _(ツ)_ /¯。我们需要做的最后一件事就是将'sourceType': 'unambiguous'
也添加到您的babel.config.js
中。
到目前为止,上述步骤对我来说是完美的,如果我发现其他障碍,我将确保更新此答案。