当我尝试使用节点提供的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)
我尝试重新安装节点,第二次尝试将错误更改为:
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 };
我究竟做错了什么?
编辑我正在使用编译器,因此我import
在语法上与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中编写了相同的代码,并在我的节点上运行了它。与我在gulp文件中使用的编译器有任何不好的兼容性吗?
问题出在通天塔翻译机上。babelify不支持节点导入
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句