美文网首页
webpack动态导入文件报错 SyntaxError:Unex

webpack动态导入文件报错 SyntaxError:Unex

作者: 黎明的叶子 | 来源:发表于2021-06-09 15:03 被阅读0次

问题说明

在index.js页面中,使用的动态导入 import()。在webpack.config.js文件中,使用babel-loader处理。报如下错误。 如果不用babel-loader,反而也能正常运行。


image.png

问题解析

首先不用babel-loader,反而也能正常运行。很奇怪。只能感觉是webpack本身对import做了处理。看打包后的文件的猜测。这点不确定。
打包后的转化如下:

image.png

其次,按正常,应该通过babel-loader处理ES6代码。引入后竟然报错。官网有提供。

image.png
按照此项,安装了es6-promise或promise-polyfill。都不可以。
后来,发现了这篇文章,webpack动态导入文件报错的解决方法
虽然跟官网不一样,但是vue router的官网,的确有介绍。如下
image.png
按照操作,仍然不行。仔细看,说的上图,说的是在webpack 2中。我目前用的是4版本。所以我想到了版本问题。
最后,参考启动项目报错this.setDynamic is not a function这篇文章,认识到是版本问题。
// babel7以前npm安装core
npm i babel-core --save-dev
//babel7以后安装core
npm i @babel/core --save-dev

@babel/preset, @babel/plugin不可省略,否则会当成babel7以下插件处理,出现无法找到插件的报错。

{
 "presets": ["@babel/preset-react", ["@babel/preset-env"]],
 "plugins": [
   "@babel/plugin-transform-runtime"
 ]
}

我的package.json如下:

"devDependencies": {
    "@babel/core": "^7.10.2",
    "@babel/plugin-transform-runtime": "^7.10.1",
    "@babel/preset-env": "^7.10.2",
    "@babel/preset-react": "^7.10.1",
    "babel-loader": "^8.1.0",
     "babel-preset-es2015": "^6.24.1",
  }
 

总结

其实在一开始不用babel-loader,就能正常运行。应该能猜到是版本。当时的babel相关的版本不支持动态导入。版本是个最头疼的问题。

相关文章

  • vue项目引入SuperMap.Include.js

    vue项目引入SuperMap.Include.js时,报错:Uncaught SyntaxError: Unex...

  • 报错:Support for the experimental

    情况说明:内网项目压缩后,在外网尝试运行,报错标题行。 解决: Webpack4动态导入文件报错,现在还不支持动态...

  • Support for the experimental syn

    Webpack4动态导入文件报错,现在还不支持动态使用import语法。需要下载babel插件对语法做转换。 安装...

  • JS中Unexpected identifier错误

    JS中Unexpected identifier错误错误提示:Uncaught SyntaxError: Unex...

  • JSON.parse()报错:SyntaxError: Unex

    JSON.parse(string)中的参数json字符串最后不能有',',例如: 这样会报错,正确的格式为: 还...

  • Python learning record

    1.Pycharm输入中文报错 在pycharm中的python文件中输入中文会报错SyntaxError: 问题...

  • VUE实现主题切换

    使用webpack raw 方式导入文件,防止直接渲染,通过动态添加样式到 实现主题样式切换。 Github: h...

  • 小程序遇到的报错问题

    1、报错pages/xxx/xxx.json 文件解析错误 SyntaxError: Unexpected end...

  • vue json 报错

    今天将自己之前的vue项目重新启动,发现直接报了下面这个错误 Uncaught SyntaxError: Unex...

  • cocoapods的引用

    找不到头文件 cocoapods导入一个第三方的库(开源库或者静态/动态库),然后导入这个库的头文件,编译报错,说...

网友评论

      本文标题:webpack动态导入文件报错 SyntaxError:Unex

      本文链接:https://www.haomeiwen.com/subject/fegueltx.html