JavaScript Node.js-SyntaxError:意外的令牌导入
我不明白怎么了。节点v5.6.0 NPM v3.10.6
编码:
function (exports, require, module, __filename, __dirname) { import express from 'express'
};
错误:
SyntaxError: Unexpected token import at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:140:18)
at node.js:1001:3
回答:
更新3:从Node 13开始,你可以使用.mjs
扩展名,也可以在package.json
中设置“ type”:“ module”
。你并不需要使用–experimental-modules
标志。
更新2:从Node 12开始,你可以使用.mjs
扩展名,也可以"type": "module"
在package.json
中进行设置。并且你需要运行带有–experimental-modules标志的节点。
更新:在节点9中,它在标志后面启用,并使用.mjs
扩展名。
node --experimental-modules my-app.mjs
虽然import
确实是ES6的一部分,但不幸的是,默认情况下NodeJS不支持它,并且最近才在浏览器中提供支持。
工作正在进行中,但将需要一些时间-我们目前至少需要一年左右的时间。
在本机显示支持之前,您必须继续使用经典require
语句:
const express = require("express");
如果您确实想在NodeJS中使用ES6 /7的新功能,则可以使用Babel对其进行编译。这是一个示例服务器。
以上是 JavaScript Node.js-SyntaxError:意外的令牌导入 的全部内容, 来源链接: utcz.com/qa/407763.html