我不明白怎么了。节点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不支持它,并且最近才在浏览器中提供支持。
有关MDN和此Node问题,请参阅浏览器兼容性表。
摘自James M Snell 关于Node.js中ES6模块的更新(2017年2月):
工作正在进行中,但将需要一些时间-我们目前至少需要一年左右的时间。
在本地显示支持之前,您必须继续使用经典require
语句:
const express = require("express");
如果您确实要在NodeJS中使用ES6 /
7的新功能,则可以使用Babel对其进行编译。这是一个示例服务器。
我不明白怎么了。节点V5.6.0 NPM V3.10.6 代码: 错误:
问题内容: 我不明白怎么了。节点v5.6.0 NPM v3.10.6 编码: 错误: 问题答案: 更新3:从Node 13开始,你可以使用扩展名,也可以在中设置。你并不需要使用–标志。 更新2:从Node 12开始,你可以使用扩展名,也可以在中进行设置。并且你需要运行带有–experimental-modules标志的节点。 更新:在节点9中,它在标志后面启用,并使用扩展名。 虽然确实是ES6的一
问题内容: 我不明白怎么了。我在其他论坛上讨论了翻译和通天塔。我需要做什么? 我的代码: 和错误 问题答案: ES6导入是最近引入的功能,并且Node的当前稳定版本尚不支持它们。Node.js问题跟踪器对此存在一个未解决的问题 -但在V8和Node添加对此功能的支持之前,您将需要使用编译器(最受欢迎的是babel)才能使用导入。 为了快速尝试转译,babel提供了基于Web的REPL。这段演示了您
问题内容: 尝试进行呼叫并检索一个非常简单的一行JSON文件。 这是RAW请求: 这是RAW回应: 响应中返回了JSON(红色:#f00),但Chrome报告了 Uncaught SyntaxError:Unexpected token:colors.json:1 如果我直接导航到url本身,则返回JSON并显示在浏览器中。 如果我将colors.json的内容粘贴到JSLINT中,则json
问题内容: 当我使用babel观看jsx文件时。但是存在语法错误。 在此之前,我使用react-tools进行观看,一切都很好。 以下是我的代码。 问题答案: 前几天我遇到了类似的问题。看来babel现在需要一些其他插件才能与react一起工作。
使聊天应用程序通过Node in action引用,并在运行server.js时,得到以下错误:function serveStatic(response,cache,absPath)^^^^^^^^^^^^syntaxerror:exports.runinthiscontext(VM.JS:73:16)在module._compile(module.js:543:28)在object.modul