vue-cli 下.js文件应该是默认支持es6语法的? 为什么我的js文件import 语法还报错?

ritsu
  • 766

clipboard.png

webpack 的babel配置是有的。
我是在src下新建了一个.js文件

webpack配置如下:

  {
    test: /\.js$/,
    loader: 'babel-loader',
    include: [resolve('src'), resolve('test')]
  },
  

目录结构:

clipboard.png

dev-server.js import Vue 是报错的。包括其他好多文件都不行。

回复
阅读 3.9k
6 个回答

加一项

{
    test: /\.js$/,
    loader: 'babel-loader',
    include: [resolve('src'), resolve('test')],
    options: {
        presets: ['es2015',"stage-0"]
    }
  }

记得要先装stage-0这个npm包哦

build目录是node.js在执行,目前node.js还不支持esm的模块化方式。

实际上build目录是构建用的,在不了解其内容的情况下谨慎修改。代码相关的内容在src目录下。

toBeTheLight
  • 16.6k

@_暮雨_
说的是对的。
报错部分的文件是直接不经编译运行在node中的。而你src中的代码会经过编译将import编译为支持的模块化标准。
除非你对webpack自身的代码也进行一次编译。
然后你也看到了,vue-cliwebpack部分的代码用的是require

小青蛙
  • 2
新手上路,请多包涵

如果你用的开发工具是webstorm你可以升级到最新版本试试看,

应该是webstorm吧,要改一下设置,将ECMAscript版本改为6就好了

这只是webstorm报错啊 你是不是没勾选es6语法

宣传栏