如何从命令行(终端)使用节点访问模块

时间:2018-10-23 16:18:05

标签: javascript node.js

我想从File2.js调用File1.js中的sum()。但是当我运行File2.js时,什么也没发生。

这些是我的文件。

File1.js

export function sum(FirstItem,SecondItem){
  return (FirstItem+SecondItem)
}

File2.js

import {sum} from './File1.mjs'
console.log(sum(3,5))

1 个答案:

答案 0 :(得分:2)

使用requiremodule.exports

  

File1.js

module.exports = function sum(FirstItem,SecondItem){
  return (FirstItem+SecondItem)
}
  

File2.js

let sum = require('./file1')
console.log(sum(3,5))
  

输出

8

ECMAScript模块在节点API中处于实验阶段。

为了使用它们

尝试一下:

  

File1.mjs

export function sum(FirstItem,SecondItem){
  return (FirstItem+SecondItem)
}
  

File2.mjs

import {sum} from './File1.mjs'
console.log(sum(3,5))

现在使用命令运行此命令:

node --experimental-modules file2.mjs
  

输出

(node:12236) ExperimentalWarning: The ESM module loader is experimental.
8

请参阅文档https://nodejs.org/api/esm.html