当前位置: 首页 > 知识库问答 >
问题:

节点中导入的SyntaxError[重复]

长孙哲
2023-03-14

我对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)

大概是很基础的,但是我看不出我在这里做错了什么。

共有1个答案

柳奇思
2023-03-14

您导入的方式是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进行节点的导入导出操作。