为什么node.js会忽略package.json文件中的“类型”设置?

安德烈·布什曼

节点版本:

节点-v
v12.13.0

我阅读了有关在Node.js中使用ES模块的文档

Node.js将被视为CommonJS所有其他形式的输入,例如,.js最近的父package.json文件不包含顶级"type"字段的文件

这是我的package.json文件:

{
  "type": "module",
  "name": "sandbox",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node ./src/index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "ramda": "^0.26.1"
  }
}

这是我的./src/index.js

import R from "ramda";
const src = {name:"Bob",age:7};
const _src = R.clone(src);
console.log(_src);

我尝试通过npm start启动我的代码,node ./src/index.js但出现错误:

从“ ramda”导入R;
^^^^^^

SyntaxError:无法在模块外部使用import语句

为什么会发生?即为什么节点会忽略我的"type": "module"设置?

同时,它可以正常工作:

node --experimental-modules .\src\index.js
可以这么说

在节点12中,您需要运行带有--experimental-modules标志的节点以启用对ECMAScript模块的支持。

import是ES6的一部分,默认情况下NodeJS不支持它。它可以通过将import替换为来工作require或者,您可以.babelrec此处的回答使用

同样,对于ES模块使用,“ main”的值必须是完整路径,包括扩展名:“ ./ src / index.js”,而不是“ index.js”。

{
  "type": "module",
  "main": "./src/index.js"
  "scripts": {
    "start": "node --experimental-modules ./src/index.js"  
  },
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么文件上传会忽略语言设置?

来自分类Dev

为什么Vim会忽略〜/ .vim / after / ftplugin中的文件?

来自分类Dev

为什么在node.js中JSON比BSON更快?

来自分类Dev

为什么在设置Phonegap之前需要Node.js?

来自分类Dev

为什么Node.js中的全局数组会导致内存泄漏?

来自分类Dev

为什么sudo curl会忽略代理设置?

来自分类Dev

为什么Node JS阻止异步文件操作?

来自分类Dev

为什么不使用Node.js下载文件?

来自分类Dev

为什么flyway会忽略我的SQL迁移文件?

来自分类Dev

为什么Git会忽略这些文件夹?

来自分类Dev

为什么Git会忽略以.chm结尾的帮助文件?

来自分类Dev

为什么Makefile会忽略我的.o文件规则?

来自分类Dev

为什么ASP.NET路由引擎会忽略文件?

来自分类Dev

为什么git会忽略我的.data文件夹?

来自分类Dev

为什么“打印”在node.js中不起作用?

来自分类Dev

为什么函数最终在Node JS中执行

来自分类Dev

为什么“打印”在node.js中不起作用?

来自分类Dev

为什么在 node.js 中 `func` 不是函数?

来自分类Dev

为什么DrawTextLayout会忽略SharpDX中SetDrawingEffect中的画笔?

来自分类Dev

为什么bitbake会忽略我的makefile中的CFLAGS?

来自分类Dev

为什么在 Linux 上的 SendEmail 中句首会忽略句号

来自分类Dev

如果偏移量在文件范围内,为什么Node.js会抱怨ERR_OUT_OF_RANGE?

来自分类Dev

鱼为什么会似乎忽略函数中的第二个“设置”命令?

来自分类Dev

为什么我的html代码会忽略我的js?

来自分类Dev

为什么Visual Studio Code会忽略我的task.json文件?

来自分类Dev

为什么我不能在apache中阻止单个node.js文件?

来自分类Dev

为什么无法通过node.js的ascii模式在文件中写入空字节?

来自分类Dev

为什么在node.js fs模块中删除文件被命名为“ unlink”?

来自分类Dev

为什么Git自动忽略大多数Node文件?

Related 相关文章

  1. 1

    为什么文件上传会忽略语言设置?

  2. 2

    为什么Vim会忽略〜/ .vim / after / ftplugin中的文件?

  3. 3

    为什么在node.js中JSON比BSON更快?

  4. 4

    为什么在设置Phonegap之前需要Node.js?

  5. 5

    为什么Node.js中的全局数组会导致内存泄漏?

  6. 6

    为什么sudo curl会忽略代理设置?

  7. 7

    为什么Node JS阻止异步文件操作?

  8. 8

    为什么不使用Node.js下载文件?

  9. 9

    为什么flyway会忽略我的SQL迁移文件?

  10. 10

    为什么Git会忽略这些文件夹?

  11. 11

    为什么Git会忽略以.chm结尾的帮助文件?

  12. 12

    为什么Makefile会忽略我的.o文件规则?

  13. 13

    为什么ASP.NET路由引擎会忽略文件?

  14. 14

    为什么git会忽略我的.data文件夹?

  15. 15

    为什么“打印”在node.js中不起作用?

  16. 16

    为什么函数最终在Node JS中执行

  17. 17

    为什么“打印”在node.js中不起作用?

  18. 18

    为什么在 node.js 中 `func` 不是函数?

  19. 19

    为什么DrawTextLayout会忽略SharpDX中SetDrawingEffect中的画笔?

  20. 20

    为什么bitbake会忽略我的makefile中的CFLAGS?

  21. 21

    为什么在 Linux 上的 SendEmail 中句首会忽略句号

  22. 22

    如果偏移量在文件范围内,为什么Node.js会抱怨ERR_OUT_OF_RANGE?

  23. 23

    鱼为什么会似乎忽略函数中的第二个“设置”命令?

  24. 24

    为什么我的html代码会忽略我的js?

  25. 25

    为什么Visual Studio Code会忽略我的task.json文件?

  26. 26

    为什么我不能在apache中阻止单个node.js文件?

  27. 27

    为什么无法通过node.js的ascii模式在文件中写入空字节?

  28. 28

    为什么在node.js fs模块中删除文件被命名为“ unlink”?

  29. 29

    为什么Git自动忽略大多数Node文件?

热门标签

归档