无法导入Vue:SyntaxError:意外的标识符

时间:2019-01-11 10:35:04

标签: node.js vue.js npm

npm install vue --save

东西已安装并存储在package.jsonpackage-lock.json中,包括:

"vue": "^2.5.21",   
"vue-router": "^3.0.2",
"vue-server-renderer": "^2.5.21",

但是当我跑步

node src/main.js

带源代码(这是完整的main.js文件,仅1行)

import Vue from 'vue';

我得到了错误

src/main.js:1
(function (exports, require, module, __filename, __dirname) { import Vue from 'vue'
                                                                     ^^^

SyntaxError: Unexpected identifier

在很多Hello世界中都使用了导入行,某些简单的操作肯定是错误的。 节点版本为v10.15.0。 例如https://vuejs.org/v2/guide/components-registration.html

1 个答案:

答案 0 :(得分:1)

NodeJS仅支持CommonJS(require / module.exports)模块,而不支持您尝试使用的ES6(import / export)。

您指的是使用babel transpiler提及的示例。它在后台将使用ES6模块转换为CommonJS模块,因此节点可以正常工作。

例如,您可以像这样创建测试项目:

npm -g i vue-cli
vue init webpack-simple vue-test-project
cd vue-test-project
npm i
npm run dev

这将安装Babel Transpiler,Webpack捆绑器和其他需要的软件包。之后,只要运行npm run dev(运行)或npm run build(构建),就可以使用ES6模块。

有用的链接来读取:Vue.js → Installation


这是“为什么import不起作用?”的答案。题。与@DecadeMoon has pointed一样,vue不应在node中运行。