最近在看Nuxt开发vue项目的视频,视频中讲到Nuxt项目不支持es6的import写法。并提供了解决方案:

1.在package.json中添加我标红的部分:

 "scripts": {
"dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server --exec babel-node",
"build": "nuxt build",
"start": "cross-env NODE_ENV=production node server/index.js --exec babel-node",
"generate": "nuxt generate",
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
"test": "jest"
},

2.根目录创建babel配置文件.babelrc,如果已经存在该文件就修改

内容如下:

{
"presets":["es2015"]
}

3.安装 babel-preset-es2015

npm install babel-preset-es2015

4.重新执行 npn run dev

视频中介绍的就是这4个步骤。我截止写文之前,网上搜索结果也基本是上面这种解决方案。

但是&重点来了!!!截止2019年1月,原有的  babel-preset-es2015  写法已经废弃,与之代替的是  babel-preset-env   或者  @babel/preset-env ,目前以后者为推荐。

下面说下如何实现用 @babel/preset-env  让Nuxt 项目支持import 写法。

1.安装 @babel/cli、@babel/core、@babel/preset-env、@babel/node 这4个你项目中没有安装的包

npm install @babel/cli @babel/core @babel/preset-env @babel/node -D

想知道你已经安装了哪些包,直接看 package.json 文件中的 "devDependencies" 。

这里提一下 @babel/cli 与 babel-cli 的区别:

@babel/cli是7.0以后的版本的命名方式,bable-cli是之前的。如下图所示:

我使用的是7.0以后的版本,所以安装的包都是以@babel开头的。

在babel 7.x 以前,babel-node通过安装bable-cli包即可。

在Babel 7.x 以后,babel 的模块被被拆分。因此需要单独安装 @babel/node。

2.修改.babelrc文件

{
"env": {
"test": {
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
}
}

3.修改package.json文件

就是下面我代码块标红的地方

"scripts": {
"dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server --exec babel-node --presets @babel/env",
"build": "nuxt build",
"start": "cross-env NODE_ENV=production node server/index.js --exec babel-node --presets @babel/env",
"generate": "nuxt generate",
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
"test": "jest"
},

4.执行 npm run dev 即可,这时我们可以看到项目正常运行起来了。

其实也是开始提到的那4步。只是把版本升级了一下而已~~

Nuxt项目支持import写法的最新解决方案的更多相关文章

  1. nuxt 脚手架创建nuxt项目中不支持es6语法的解决方案

    node本身并不支持es6语法,我们通常在vue项目中使用es6语法,是因为,我们使用babel做过处理, 为了让项目支持es6语法,我们必须同时使用babel 去启动我们的程序,所以再启动程序中加 ...

  2. 中文版Chrome浏览器不支持12px以下字体的解决方案

    中文版Chrome浏览器不支持12px以下字体的解决方案 Chrome 27之前的中文版桌面浏览器会默认设定页面的最小字号是12px,英文版则没有限制,主要是因为chrome认为汉字小于12px就会增 ...

  3. 【抱怨文】vscode对多项目支持不够友好

    vscode是一个简单的开发工具,启动快,速度快.但是当前1.26版本对多项目支持好像有点问题.命令行有个dotnet sln,但是只能添加新项目,却没有创建解决方案的命令.如果强行添加他会提示没有解 ...

  4. Carthage 让项目支持及使用,第三方静态库转为动态库

    Carthage介绍 具体使用,可以查看官网的,文档地址 https://github.com/Carthage/Carthage.如果看不懂英文,可以看一下官文的翻译:https://www.jia ...

  5. 华为手机浏览器不支持PUT提交方式的解决方案

    最近所在技术团队在开发webapp项目,前端angularjs+后端.Net MVC API,API登录接口定义为PUT提交方式,在做兼容测试时发现UC.safari.微信浏览器下都可以登录,但在华为 ...

  6. Typecho-Material主题不支持Kotlin代码高亮的解决方案

    Typecho-Material主题不支持Kotlin代码高亮的解决方案 Overview 最近通过Typecho搭建了一个Blog,采用了 Material主题,其他的都挺好,也挺喜欢这个主题,但是 ...

  7. 在windows环境下部署nuxt项目(线上发布部署)

    因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把 ...

  8. nuxt项目服务端渲染应用部署、使用pm2守护进程及遇到的问题处理

    服务端渲染应用部署应该先编译构建,然后再启动 Nuxt 服务,可通过以下两个命令来完成: nuxt build nuxt start 我们已经在pakage.json里配置好script命令 { &q ...

  9. 搭建Nuxt项目(搭配Element UI、axios)

    使用Nuxt Nuxt.js文档:https://zh.nuxtjs.org/guide/ 开始 初始化Nuxt项目 npx create-nuxt-app <项目名> // or yar ...

随机推荐

  1. SQL系列(五)—— 排序(order by)

    对查询结果进行排序是日常应用开发中最为常见的需求,在SQL中通过order by实现.order by是select语句中一部分,即子句. 1.order by 1.1 单列排序 其实,检索出的数据并 ...

  2. Linux中最大进程数和最大文件数

    前言 Linux系统中可以设置关于资源的使用限制,比如:进程数量,文件句柄数,连接数等等. 在日常的工作中应该遇到过: -bash: fork: retry: Resource temporarily ...

  3. golang ---查看进程(Windows)

    package main import ( "fmt" "os" "os/exec" "strconv" "s ...

  4. [转]Python实现字符串反转的几种方法

    #第一种:使用字符串切片 result = s[::-1] #第二种:使用列表的reverse方法 l = list(s) l.reverse() result = "".join ...

  5. JAVA 架构和技术框架百科

    YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只 ...

  6. MTSC2019-深圳站 议题征集

    议题截止时间 11月初 议题投递地址 topic@testerhome.com   臣一路走来,没有敌人,看见的都是朋友和师长 —司马懿 关于中国移动互联网测试大会 MTSC 大会(中国移动互联网测试 ...

  7. JavaScript数据类型和语法

    第一章 类型 1.2 内置类型 使用 typeof 检测对象类型并不是非常安全的行为: // 安全的 typeof undefined // 'undefined' typeof true // 'b ...

  8. Linux 下的7种文件类型

    普通文件类型 (-)Linux中最多的一种文件类型, 包括 纯文本文件(ASCII):二进制文件(binary):数据格式的文件(data);各种压缩文件.第一个属性为 [-] ,这些文件一般是用一些 ...

  9. JS 正则表达式转换字符串

    获取第一个.前面的字符串,以及后面的字符串: const transform = str => { str.replace(/([^\.]*)\.(.*)/, function($0, $1,$ ...

  10. Java DbUtils简介

    Dbutils,db utils,顾名思义,是一个数据库工具,体积很小,算是一个dao层的小框架. DbUtils是Apache的开源项目,对JDBC进行了轻量级封装,极大地简化了JDBC编程. Db ...