vscode运行js程序时,出现SyntaxError: Unexpected identifier错误

问题描述

我在学习js中的库的时候,有一段代码

//20190722.js

import qs from 'qs'

const url="age=12&&name='haha'&&depart='IT'";
console.log(qs.parse(url)); //{age:12,name:'haha',depart:'IT'}

const aaa={id:1,address:'Beijing'};
console.log(qs.stringify(aaa)); //id=1&address='Beijing'

安装了了code runner插件之后,运行出现错误:

解决方法

方法1:用require引入,即将import语句替换掉,如下:

var qs = require('qs');

结果如下:

方法2:--experimental-modules特性

原来,是因为node12不是默认支持import语法的,所以用import不能识别。
我用的是--experimental-modules特性,使用之前要将.js文件的后缀改成.mjs,同时引用的时候也要改成.mjs,如:

import module1 from './module1.mjs'

运行时,指定参数:

node --experimental-modules ./20190722.mjs

运行结果如下:

方法3:用 babel 引导

首先安装 babel 包:

npm install babel-register babel-preset-env --D

然后编写一个新的 js 文件作为程序的执行入口,用下面的方法加载要运行的模块:

require('babel-register') ({
    presets: [ 'env' ]
})

module.exports = require('./app.js')

运行:

node ./start.js

这个方法我觉得太麻烦了,暂时还没有具体实践。

参考文献:https://www.lijiaocn.com/tutorial/javascript/2019/06/20/javascript-03-project/#%E6%96%B9%E6%B3%952-experimental-modules

 

如有不足之处,欢迎大家指正,谢谢!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值