在 Node 12 中指定 ES6 模块

从我的理解,我可以使用ES6进口与节点12,如果我也行"type": "module",我package.json的文件。我正在尝试测试这个,但我无法让它工作。有谁知道我做错了什么?


我的package.json:


{

  "scripts": {

    "run": "clear;clear; node package/index.js",

  },

  "type": "module"

}


和我的package/index.js文件:


import * as fs from 'fs'

运行npm run-script run输出


import * as fs from 'fs'

       ^


SyntaxError: Unexpected token *

    at Module._compile (internal/modules/cjs/loader.js:718:23)

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)

    at Module.load (internal/modules/cjs/loader.js:641:32)

    at Function.Module._load (internal/modules/cjs/loader.js:556:12)

    at Function.Module.runMain (internal/modules/cjs/loader.js:837:10)

    at internal/main/run_main_module.js:17:11


肥皂起泡泡
浏览 253回答 1
1回答

GCT1015

根据文档和此公告博客文章,为了"type": "module"工作,您还需要--experimental-modules在运行 Node.js 时设置标志。因此,在您的情况下,包文件脚本将是:"run": "clear; clear; node --experimental-modules package/index.js",请注意,这还将在启动时启用警告:ExperimentalWarning: The ESM module loader is experimental.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript