我知道Angular 2運行在無法訪問文件系統的Web瀏覽器上。使用Electron訪問Angular 2應用程序中的文件系統
不過,我使用電子作爲我的前端,並通過電子運行的應用程序:
"build-electron": "ng build --base-href . && cp src/electron/* dist",
"electron": "npm run build-electron && electron dist"
因此,我npm run electron
其在最後運行electron dist
運行它。
由於我運行的是electron
而不是ng
我認爲我應該能夠訪問文件系統。然而,當我這樣做:
import * as fs from 'fs'
我得到一個錯誤:
ng:///AppModule/AppComponent_Host.ngfactory.js:5 ERROR TypeError: __WEBPACK_IMPORTED_MODULE_0_fs__.readFileSync is not a function(…)
同樣的,當我嘗試:var fs = require('fs');
我得到:
ng:///AppModule/AppComponent_Host.ngfactory.js:5 ERROR TypeError: fs.readFileSync is not a function
這是導致錯誤的調用:
this.config = ini.parse(fs.readFileSync('../../CONFIG.ini', 'utf-8'))
沒有人有任何的想法是什麼引起的?
謝謝。
嗨,我不得不'彈出'來訪問'webpack.config.js' - 'module.exports'中沒有'externals'數組。我已經添加了它,以及上面列出的4個外部參數(我當然刪除了'...')。但是,當我輸入fs或電子到控制檯時,我會得到'fs' | '電子'是未定義的。 有什麼想法? – Kevin