javascript - 无法访问或使用Node的fs模块

标签 javascript node.js ecmascript-6

当我尝试使用 Node 提供的 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)

我尝试重新安装 Node ,第二次尝试时错误更改为:

TypeError: Object #<Object> has no method 'exists'
    at Object.u [as env] (/data/piarm.js:1:708)
    at Object.u.read (/data/piarm.js:1:1190)
    at Object../tests/GPIO (/data/piarm.js:1:984)
    at u (/data/piarm.js:1:316)
    at e (/data/piarm.js:1:483)
    at Object.<anonymous> (/data/piarm.js:1:500)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

我的 JavaScript 看起来像这样:

import fs from 'fs';

function env() {

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

            console.log('true')
        } else {
            console.log('false')
        }
    });
}
export { env };

我做错了什么?

编辑我正在使用转译器,因此我的导入在语法上与require();

编辑我的 gulp 文件

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']);

更新我可以确认错误出在我的转译器中。我在 es5 中编写了相同的代码并在我的 Node 上运行它。与我在 gulp 文件中使用的转译器有什么不好的兼容性吗?

最佳答案

在 Node 中,您不需要导入,您需要:)

var fs = require('fs');

关于javascript - 无法访问或使用Node的fs模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30828623/

相关文章:

javascript - 确定给定名称的类是否存在

reactjs - 通过解构可以使这个分配变得更简单吗?

javascript - 使用 JavaScript 的 Ajax 日历日期范围

javascript - 如何使用 Lo-Dash 扩展对象?

jquery - jsonp ajax 请求中的错误字符集

javascript - 使用 a+ 在 Node 中构造正确的 Promise

javascript - "...this.props"在 ReactJS 中是什么意思?

javascript - React Component 从 Json 数据填充 Item 组件 props

javascript - postcss-import grunt 插件不工作

javascript - JSON 中的键缺少引号