Babelify和本地Node模块

时间:2016-01-05 05:14:15

标签: javascript node.js ecmascript-6 babeljs

import使用Babelify时,有Browserify本机节点模块(例如cryptofspath)的方法吗?

例如:

'use strict';

import $ from 'jquery';
import fs from 'fs'; // <------ this line causes an error

var data = JSON.parse(fs.readFileSync('foo.json', 'utf8'));

$(document).ready(function () {
  // stuff
});

当我尝试运行它时,Browserify会给我这个错误:

  

错误:在解析文件时尝试静态调用{ readFile: [Function: readFile], readFileSync: [Function: readFileSync], readdir: [Function: readdir], readdirSync: [Function: readdirSync] }作为函数:/home/vincent/www/project1/resources/js/foo.js:/ home / vincent / www / project1 /资源/ JS / foo.js

我也尝试了以下相同的结果:

import * as fs from 'fs';
import { fs } from fs;

1 个答案:

答案 0 :(得分:3)

这是a known issue brfs和Babelify:

  

一旦静态模块可以处理ES6导入,它最终将成为可能。现在你需要使用CommonJS语法“要求”brfs,并在babelify之后运行brfs转换。

来源:

相关问题