Saya mempunyai keperluan saya perlu menggunakan js tulen untuk membaca imej Satu-satunya parameter ialah laluan imej
var fs = require("fs");
var imageFile = fs.readFileSync('test.png', 'base64');
console.log(imageFile);
Gunakan browserify untuk menukar kepada
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
},{}],2:[function(require,module,exports){
var fs = require("fs");
var imageFile = fs.readFileSync('test.png', 'base64');
console.log(imageFile);
},{"fs":1}]},{},[2]);
Apabila berjalan dalam persekitaran penyemak imbas, ralat berikut kelihatan bahawa browserify tidak boleh menukar modul fs untuk dijalankan dalam penyemak imbas pada asalnya menjadi masalah (jika anda tidak menggunakan sebarang bentuk html) . js:5 Ralat Jenis Tidak Ditangkap: fs.readFileSync bukan fungsi
Pembaca fail?
Pertama sekali, mari kita jelaskan, alatan seperti
browserify
hanya boleh menukar kod JavaScript menggunakan mekanisme pemuatan modulcommonjs
ke dalam bentuk yang boleh difahami oleh penyemak imbas. Ini tidak bermakna bahawa sebarang kod Node.js boleh digunakan pada bahagian penyemak imbas.browserify
这样的工具仅仅能将使用commonjs
模块加载机制的 JavaScript 代码转换成为浏览器可以理解的形式。这并不代表着任意 Node.js 代码都可以在浏览器端使用。最典型的例子就是 fs 模块,它是完全不可能被浏览器端调用的。对本地文件的读写能力完全违反了浏览器本身的安全机制,试想你打开一个网页,然后这个网页竟然就可以读写你本地硬盘上的文件,这该是多么可怕的一件事情!
因此,你的思路本身或许需要重新整理一下,什么样的功能需求促使你要在网页端读写文件呢?如果仅仅是在客户端对用户在
Contoh paling tipikal ialah modul fs, yang sama sekali mustahil untuk dipanggil oleh penyemak imbas. Keupayaan untuk membaca dan menulis fail tempatan sepenuhnya melanggar mekanisme keselamatan pelayar itu sendiri. Bayangkan anda membuka halaman web, dan kemudian halaman web ini sebenarnya boleh membaca dan menulis fail pada cakera keras tempatan anda. 🎜 🎜Oleh itu, pemikiran anda sendiri mungkin perlu disusun semula apakah keperluan fungsi yang mendorong anda untuk membaca dan menulis fail di halaman web? Jika anda hanya mempraproses fail yang dimuat naik oleh pengguna dalamfile uploader
中上传的文件预处理,那么你该使用浏览器端原生的FileReader
pemuat naik fail
pada bahagian klien, maka anda harus menggunakan APIFileReader
asli penyemak imbas🎜