Webpack nodejs fs.readFile ist nicht eine Funktion
Ich habe ein webpack config wie:
var path = require('path')
module.exports = {
entry: "./index.js",
output: {
path: path.join(__dirname, 'static'),
filename:'bundle.js'
},
module: {
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"},
{ test: /\.json$/, loader: 'json-loader' },
]
},
node: {
fs: "empty"
}
};
Willst und ich lese eine Datei mit fs
Bin ich etwas wie:
var fs = require('fs')
console.log(fs)
fs.readFile('input.txt', function (err, buffer) {
console.log("buffer")
console.log(buffer)
})
Ich nur Lesen möchten, hier eine Datei aber wenn ich das mache gibt er mir die Fehlermeldung sagen:
fs.readFile
ist nicht eine Funktion
Habe ich installiert fs
mit npm install --save fs
Auch, wenn ich drucken fs
es gibt mir leeres Objekt.
Habe ich oben getan console.log(fs)
es ist mir leeres Objekt
Was ist falsch hier?
- Entfernen
node: { fs: "empty" }
und fügen Sietarget: 'node'
: webpack.github.io/docs/Konfiguration.html#Ziel - gut, das gibt mir Prozess ist nicht definiert Fehler
- Sie versuchen, führen Sie diesen code aus dem browser? Im browser, natürlich, gibt es keine Zugriff auf Datei-system.
- das heißt, ich sollte beginnen, eine Entwicklung, server???
- Sie sollten es ausführen, wie
node ./bundle.js
- ich bin eigentlich ab der server mit python -m SimpleHTTPServer
- Die
fs
Modul ist Teil des Knotens. Sie sollten nicht installieren Sie es. - Ja aber wenn du einen Front-End-server, den Sie haben, um es durch das bundle, nicht durch den Knoten WebServer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code sieht gut aus! Also es ist nichts falsch mit dem code. Überqueren überprüfen, führen Sie den gleichen code hier https://www.tutorialspoint.com/execute_nodejs_online.php und Sie können sehen, dass
console.log(fs);
nicht leer sein.Also der Grund, dass der code zeigt Fehler ist, da Sie bei der Installation der node-Modul mit dem Namen " fs " mit dem Befehl
npm install --save fs
denen Sie aber nicht! Knoten kommt mit diesem Modul standardmäßig. Alles, was Sie zu tun haben ist, verlangen, ist mitconst fs = require('fs');
(mitvar
oderlet
auch finden, aber ich empfehleconst
hier).So löschen Sie einfach die lokalen
node_modules
Ordner und führen Sie dann dieser code wieder durch die Installation der anderen Module, die Sie wollen, und es wird gut laufen!Hoffe, das hilft 🙂