使用节点如何将我的ES6-export-default模块导入到命令行JavaScript程序中?

robor78

我的mymodule.js中有一个ES6模块

export default function () {

  console.log('hello world');

}

在app.js中,我导入了模块

import mymodule from 'mymodule'; //also tried './mymodule' and './mymodule.js'

mymodule();

从命令行执行

node app.js

要么

node --experimental-modules app.js

错误信息

import mymodule from 'mymodule';
   ^^^^^^^^

SyntaxError: Unexpected identifier
at Module._compile (internal/modules/cjs/loader.js:703:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
at Module.load (internal/modules/cjs/loader.js:628:32)
at Function.Module._load (internal/modules/cjs/loader.js:555:12)
at internal/modules/esm/translators.js:84:15
at Object.meta.done (internal/modules/esm/create_dynamic_module.js:40:9)
at file:///home/a/code/marionette/test_area/app.js:9:13
at ModuleJob.run (internal/modules/esm/module_job.js:111:37)
at processTicksAndRejections (internal/process/task_queues.js:88:5)
at process.runNextTicks [as _tickCallback] (internal/process/task_queues.js:58:3)

版本号

node --version                                                                                                                                  
v12.0.0

npm --version
6.9.0

其他

  • 的Linux
  • 使用nvm
  • 尽管我正在使用npm并具有package.json文件,但我不想使用babel或webpack或其他开发人员依赖项来使其正常工作。
  • 我很高兴使用实验性功能。

使用node和ES6,如何将ES6模块导入命令行JavaScript程序?

robor78

根据Pointy的评论,我进行了这些更改

  1. 将mymodule.js重命名为mymodule.mjs
  2. 更改为导入到

    import mymodule from './mymodule.mjs'

  3. 在package.json中添加了顶级字段

    "type": "module",

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ES6中的export const与export default的比较

ES6`export * from import`?

如何在节点中使用es6导入?

Node.js和ES6中的module.exports与export默认

如何在Android Studio中将后端模块类导入到应用程序模块中

TypeScript 1.5:CommonJS'export ='的ES6模块默认导入(仅.d.ts问题?)

ReactJS.net-我如何使用ES6模块

当我可以在es6中使用import / export时,angular的依赖项注入有什么优势

如何在Angle 2中使用“ SystemJsNgModuleLoader”将动态模块导入到应用程序?

如何从使用ʻexport =`的模块中重新导出`*

如何使用Javascript ES6 ES2015模块直接将常量导出/导入到导入模块名称空间?

如何在打字稿中使用带有es6导入语法的节点模块

如何将扩展导入到ES6 / Typescript模块

如何将ES6导入和'request'npm模块一起使用

如何使用ES6将JavaScript函数导入到Polymer 1.0组件中?

如何将chartjs作为es6模块导入?

JS-我如何将其纳入ES6模块?

如何将Firebase导入到app模块以外的模块中?

如何从命令行使用节点模块?

Nextjs中的@Babylonjs(ES6)失败,出现意外令牌'export'

命令行中的SVN-如何导入,然后提交

使用Ember CLI和ES6语法`export default`,我如何知道导出是否为Ember.Object

使用ES6 import + export关键字和Babel导入/导出Express路由器

无法将文件导入到 python 脚本并使用命令行参数将打印语句记录到另一个文件

使用 webpack 将模块节点之类的 javascript 类导出/导入到电子中

db-migrate with @babel/register 和 ES6 模块 - “SyntaxError: Unexpected token export”错误

我如何将这段 ES6 代码转换为旧版本的 javascript

如何将节点模块导入到 svelte 组件中

是否可以在 Node.JS 命令行程序中同时使用 CommonJS 和 ES6 模块?