Javascript TypeError:fs.createReadStream不是函数吗?
我正在用VUE编写一个使用“fs”的项目,下面是我的代码Javascript TypeError:fs.createReadStream不是函数吗?,javascript,node.js,vue.js,fs,Javascript,Node.js,Vue.js,Fs,我正在用VUE编写一个使用“fs”的项目,下面是我的代码 async Upload(file){ let fs = require('fs'); console.log(file); console.log(this.dialogImageUrl); try { // use 'chunked encoding' // let str
async Upload(file){
let fs = require('fs');
console.log(file);
console.log(this.dialogImageUrl);
try {
// use 'chunked encoding'
// let stream = fs.createReadStream(this.dialogImageUrl);
// let result = await this.client.putStream(file.file.name, stream);
// console.log(result);
// don't use 'chunked encoding'
let stream = fs.createReadStream('./views/1.txt', {encoding:"utf8"});
let size = fs.statSync('./views/1.txt').size;
let result = await this.client.putStream(
'1', stream, {contentLength: size});
console.log(result);
} catch (e) {
console.log(e);
};
// console.log(file)
}
但是,在使用过程中遇到以下错误:
TypeError: fs.createReadStream is not a function
at _callee3$ (TestViews.vue?6930:97)
at tryCatch (runtime.js?96cf:63)
at Generator.invoke [as _invoke] (runtime.js?96cf:293)
at Generator.eval [as next] (runtime.js?96cf:118)
at asyncGeneratorStep (asyncToGenerator.js?1da1:3)
at _next (asyncToGenerator.js?1da1:25)
at eval (asyncToGenerator.js?1da1:32)
at new Promise ()
at eval (asyncToGenerator.js?1da1:21)
at VueComponent.Upload (TestViews.vue?6930:85)
TypeError:fs.createReadStream不是函数
在3$(TestViews.vue?6930:97)
在tryCatch(runtime.js?96cf:63)
在Generator.invoke[as_invoke](runtime.js?96cf:293)
在Generator.eval[as next](runtime.js?96cf:118)
在asyncGeneratorStep(asyncToGenerator.js?1da1:3)
at_next(asyncToGenerator.js?1da1:25)
评估时(asyncToGenerator.js?1da1:32)
在新的承诺()
评估时(asyncToGenerator.js?1da1:21)
在VueComponent.Upload上(TestViews.vue?6930:85)
我假设您的Vue代码正在web浏览器中运行。web浏览器中没有可用的
fs
模块fs
是Node.js模块,仅在Node.js进程中可用(在服务器或工作站上)
出于安全原因,浏览器上的文件访问受到极大限制。但是,如果您试图从服务器读取文件,您可以使用ajax,通常(现在)使用fetch
:
const response=wait fetch(“./views/1.txt”);
如果(!response.ok){
抛出新错误(“HTTP错误”+response.status);
}
const text=等待响应。text();
//…使用此处的文本。。。
Vue不是在浏览器中运行的客户端框架吗?它怎么可能使用fs
,这是内置在Node.js中的模块,而不是浏览器?