我对Node有些陌生,我正在运行一个非常简单的示例https://javascript.info/import-export在节点(10.17.0)中检查导入功能。
function.js
export function sayHi(user) {
alert('Hello, ${user}!');
}
我是这样称呼的:
说js
import {sayHi} from './function.js';
sayHi('Mike');
但由于某种原因,当我运行(在命令行上)时
node say.js
它回来了
import {sayHi} from './function.js';
^
SyntaxError: Unexpected token {
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
大概是很基础的,但是我看不出我在这里做错了什么。
您导入的方式是TypeScript
方式,但是节点不支持TypeScript,除非您编写typeScript并将其编译为JavaScript。
像这样更改您的导入
const sayHi=require('./function.js')
问题内容: 我不明白怎么了。我在其他论坛上讨论了翻译和通天塔。我需要做什么? 我的代码: 和错误 问题答案: ES6导入是最近引入的功能,并且Node的当前稳定版本尚不支持它们。Node.js问题跟踪器对此存在一个未解决的问题 -但在V8和Node添加对此功能的支持之前,您将需要使用编译器(最受欢迎的是babel)才能使用导入。 为了快速尝试转译,babel提供了基于Web的REPL。这段演示了您
人js main.js 当运行main时。我犯了个错误 谢啦
问题内容: 我不明白怎么了。节点v5.6.0 NPM v3.10.6 代码: 错误: 问题答案: 更新3: 从Node 13开始 ,您可以使用.mjs扩展名,也可以在package.json中设置“ type”:“ module”。你 并不 需要使用标志。 更新2: 从Node 12开始 ,您可以使用扩展名,也可以在package.json中进行设置。并且您需要运行带有标志的节点。 更新: 在节点
我不明白怎么了。节点V5.6.0 NPM V3.10.6 代码: 错误:
问题内容: 根据python文档,自python 2.5开始支持相对导入和内部包引用。我当前正在运行Python 2.7.3。因此,我尝试在自己的程序包中实现此功能,以便将其用于更简单的导入。我很惊讶地发现它引发了SyntaxError异常,我希望有人可以帮助您找到原因。 我设置了一个测试目录进行测试: 两个__init__.py模块都为空。其他模块是: 当我尝试导入second_level模块时
导入/导出节点: 您可以在图1.32区域1进行节点的导入导出操作。