使用从 'fs' 导入 fs

新手上路,请多包涵

我想在 JavaScript 中使用 import fs from 'fs' 。这是一个示例:

 import fs from 'fs'

var output = fs.readFileSync('someData.txt')

console.log(output)

使用 node main.js 运行我的文件时出现的错误是:

 (function (exports, require, module, __filename, __dirname) { import fs from 'fs
'
                                                              ^^^^^^
SyntaxError: Unexpected token import

Node.js应该安装什么才能实现从其他地方导入模块和功能?

原文由 escplat12 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.2k
2 个回答

Node.js 中的 ES6 模块支持 是相当新的;即使在最前沿的版本中,它仍处于试验阶段。使用 Node.js 10,您可以使用 --experimental-modules 标志启动 Node.js,它可能会起作用。

要在旧的 Node.js 版本(或标准 Node.js 10)上导入,请使用 CommonJS 语法:

 const fs = require('fs');

原文由 phihag 发布,翻译遵循 CC BY-SA 4.0 许可协议

对于默认导出,您应该使用:

 import * as fs from 'fs';

或者如果模块已经命名为 exports:

 import {fs} from 'fs';

例子:

 //module1.js

export function function1() {
  console.log('f1')
}

export function function2() {
  console.log('f2')
}

export default function1;

接着:

 import defaultExport, { function1, function2 } from './module1'

defaultExport();  // This calls function1
function1();
function2();

此外,您应该使用 Webpack 或类似的东西才能使用 ES6 import

原文由 RobertoNovelo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题