我有两个javascript.One用于读取图像文件,我称之为' register.js'。我有一个像以下的js模块
var FileUpload = (function (fileElement) {
//code goes here other functions and stuff
function fileread (event) {
//code goes here
}
return {
files: fileread // assign fileread as property and return
};
}(document.getElementById('up')))
我添加了另一个名为' call.js'当' onChange'时将使用FileUpload对象来读取文件。事件发生
function load () {
console.log(FileUpload.files);
document.getElementById('up').addEventListener('change', FileUpload.files,false);
}
window.onload=load;
但无论我在哪里运行代码,都会出现以下错误。我如何解决这个错误?
创建:115未捕获的TypeError:无法读取属性'文件'的 未定义
答案 0 :(得分:0)
我猜你忘了使用module.exports
和require
。在register.js
结束时,添加:
module.exports = FileUpload;
在call.js
开头,添加:
var FileUpload = require('./register');
您需要将./register
更改为register.js的目录。可以省略.js
扩展名,因为节点假定是javascript文件。
答案 1 :(得分:0)
这是问题所在:
return
{
files:fileread// assign fileread as property and return
};
Javascript中的分号是可选的,因此它不知道您要返回{files:fileread} 。它认为return是一个声明而 {files:fileread}; 是一个不同的声明。
改变这一点,一切都应该有效:
return {
files:fileread// assign fileread as property and return
};