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

启用ECMAScript模块在Node.js[重复]

云育
2023-03-14

我正在Node中试验ECMAScript模块。js 12,但我正在与之斗争。在正式文档之后,只需添加值为“module”的顶级字段“type”,就足以继续使用扩展名。此节点中的js。js版本,但我找不到为什么不按预期工作。我错过什么了吗?

$ node --version
v12.14.1
$ cat package.json 
{
  "type": "module",
  "scripts": {
    "start": "node test.js"
  }
}
$ npm start

> app@ start /usr/src/app
> node test.js

/usr/src/app/test.js:1
import { myFunction } from './module.js';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at Module._compile (internal/modules/cjs/loader.js:891:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
    at internal/main/run_main_module.js:17:11
$ cat test.js
import { myFunction } from './module.js';

myFunction();
$ cat module.js 
function myFunction() {
  console.log('hello from module');
}

export { myFunction };

共有1个答案

孙言
2023-03-14

https://nodejs.org/docs/latest-v12.x/api/esm.html#esm_code_import_code_statements

该导入语句的版本12文档显示,您只能通过import。。。从

所以导入myFunction从'./module.js';将工作,如果你导出myFunction作为导出默认myFunction;

 类似资料:
  • 问题内容: Node.JS v0.11.3声称支持带有标志的ECMAScript 6模块。 我尝试了各种示例,例如以下示例。 使模块在Node.JS中工作的语法是什么? 问题答案: V8中的模块实现不完整。与–harmony- modules一起启用时,具有解析支持,但对实际功能的支持被暂停。这样做的原因是,有关ES6模块实际工作方式的规范尚在制定中,并且尚未完全确定。 Continuum中的实现

  • 我在网上到处找都找不到一个明确的答案。 当前Node.js仅使用CommonJS语法来加载模块,如果您真的想使用标准的ECMAScript 2015模块语法,那么您要么必须事先传输它,要么在运行时使用外部模块加载器。 目前,我不太愿意使用这两种方法中的任何一种,Node.js的维护人员是否计划支持ECMAScript2015模块?关于这一点,我根本没有找到任何提示。 目前,Node.js6.x声称

  • 问题内容: 我一直在学习有关node.js和模块的信息,似乎无法让Underscore库正常工作……似乎我第一次使用Underscore中的函数时,它会覆盖_对象,其结果为我的函数调用。有人知道发生了什么吗?例如,这是来自node.js REPL的会话: 当我自己制作Javascript文件并将其导入时,它们似乎工作正常。Underscore库也许有一些特别之处? 问题答案: Node REPL使

  • 我试图在节点中使用自然模块。JS。我编写了一个简单的程序,从浏览器中获取输入,并使用贝叶斯分类器对其进行分类。但是,在运行时,我得到以下错误: 现在,为了研究,我通过了一个在另一个节点上有类似问题的人的以下线索。JS模块:https://github.com/andris9/mailcomposer/issues/6 我遵循卸载和重新安装natural的解决方案,没有任何帮助。我还发现:http:

  • 主要内容:什么是 Web 服务器?,Web 应用架构,使用 Node 创建 Web 服务器,实例,index.html 文件,使用 Node 创建 Web 客户端,实例什么是 Web 服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。 大多数 web 服务器都支持服务端的脚本语言(php、python、ruby)等,并通过脚本语言从数据库获取

  • 什么是 Web 服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。 大多数 web 服务器都支持服务端的脚本语言(php、python、ruby)等,并通过脚本语言从数据库获取数据,将结果返回给客户端浏览器。 目前最主流的三个Web服务器是Ap