Javascript 无法访问或使用节点';s fs模块

Javascript 无法访问或使用节点';s fs模块,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,当我尝试使用节点提供的fs模块时,我发现错误: TypeError: undefined is not a function at Object.u [as env] (/home/julien/code/piarm/src/build/piarm.js:1:708) at Object.u.read (/home/julien/code/piarm/src/build/piarm.js:1:1186) at Object../tests/GPIO (/home/juli

当我尝试使用节点提供的fs模块时,我发现错误:

TypeError: undefined is not a function
    at Object.u [as env] (/home/julien/code/piarm/src/build/piarm.js:1:708)
    at Object.u.read (/home/julien/code/piarm/src/build/piarm.js:1:1186)
    at Object../tests/GPIO (/home/julien/code/piarm/src/build/piarm.js:1:980)
    at u (/home/julien/code/piarm/src/build/piarm.js:1:316)
    at e (/home/julien/code/piarm/src/build/piarm.js:1:483)
    at Object.<anonymous> (/home/julien/code/piarm/src/build/piarm.js:1:500)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
我做错了什么

Edit我使用的是一个transpiler,因此我的
import
在语法上与
require()相同

编辑我的吞咽文件

var gulp = require("gulp");
var babelify = require('babelify');
var browserify = require('browserify');
var uglify = require('gulp-uglify');
var stream = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');

var paths = {
    js: './src/piarm/**/*.js'
};

gulp.task('build', function () {
    browserify({
        entries: './src/piarm/piarm.js',
        debug: true
    })
        .transform(babelify)
        .bundle()
        .pipe(stream('piarm.js'))
        .pipe(buffer())
        .pipe(uglify())
        .pipe(gulp.dest('./src/build'));
});

gulp.task('watch', function () {
    gulp.watch(paths.js, ['build']);
});

gulp.task('default', ['build']);

更新我可以确认错误在我的transpiler中。我在es5中编写了相同的代码,并将其与我的节点一起运行。是否与我在gulp文件中使用的Transpiler存在任何不好的兼容性?

在节点中,您不导入,您需要:)


在节点中,不导入,需要:)



问题出在巴别塔运输机上。babelify不支持节点导入

问题出在babel transpiler中。babelify不支持节点导入

node还不支持
import
关键字,我猜如果是这样的话,fs将像我的第一个错误一样未定义,但是重新安装后,is表示导入的对象不包含指定的方法。如果我理解正确,那么它就是在导入它。另外,我正在使用来自es6-ES5的transpiler来添加它,我只是尝试了
var fs=require('fs')与哪个transpiler具有相同的结果?你怎么称呼它?你用的是哪个节点版本?我用的是巴贝尔。我将包括我的吞咽文件。Node版本
v0.12.4
。Node还不支持
import
关键字,我猜如果是这样的话,fs将像我的第一个错误一样未定义,但是重新安装后,is表示导入的对象不包含指定的方法。如果我理解正确,那么它就是在导入它。另外,我正在使用来自es6-ES5的transpiler来添加它,我只是尝试了
var fs=require('fs')与哪个transpiler具有相同的结果?你怎么称呼它?你用的是哪个节点版本?我用的是巴贝尔。我将包括我的吞咽文件。Node版本
v0.12.4
。Node还不支持
import
关键字,我猜如果是这样的话,fs将像我的第一个错误一样未定义,但是重新安装后,is表示导入的对象不包含指定的方法。如果我理解正确,那么它就是在导入它。另外,我正在使用来自es6-ES5的transpiler来添加它,我只是尝试了
var fs=require('fs')与哪个transpiler具有相同的结果?你怎么称呼它?你用的是哪个节点版本?我用的是巴贝尔。我将包括我的吞咽文件。节点版本
v0.12.4
。OP已经解释了他使用的是transpiler,而且普通的
require()
也不起作用。@robertklep,他的问题在我回答后被编辑。@idoberko2我在评论中谈到过。但这并不重要——我正在寻找解决方案here@idoberko2很公平,虽然我从语法和
ecmascript-6
标记推断他至少使用了某种类型的transpiler。OP已经解释过他使用的是transpiler,而且普通的
require()
也不起作用。@robertklep,他的问题是在我回答后编辑的。我在评论中谈到了这一点。但这并不重要——我正在寻找解决方案here@idoberko2很公平,虽然我从语法和
ecmascript-6
标记推断他至少使用了某种类型的transpiler。OP已经解释过他使用的是transpiler,而且普通的
require()
也不起作用。@robertklep,他的问题是在我回答后编辑的。我在评论中谈到了这一点。但这并不重要——我正在寻找解决方案here@idoberko2很公平,尽管我从语法和
ecmascript-6
标记推断他至少使用了某种类型的transpiler。
import fs from 'fs';

function env() {

    fs.exists('.env', function(exists) {
        if (exists) {

            console.log('true')
        } else {
            console.log('false')
        }
    });
}
export { env };
var gulp = require("gulp");
var babelify = require('babelify');
var browserify = require('browserify');
var uglify = require('gulp-uglify');
var stream = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');

var paths = {
    js: './src/piarm/**/*.js'
};

gulp.task('build', function () {
    browserify({
        entries: './src/piarm/piarm.js',
        debug: true
    })
        .transform(babelify)
        .bundle()
        .pipe(stream('piarm.js'))
        .pipe(buffer())
        .pipe(uglify())
        .pipe(gulp.dest('./src/build'));
});

gulp.task('watch', function () {
    gulp.watch(paths.js, ['build']);
});

gulp.task('default', ['build']);
var fs = require('fs');