2017-12-19 3 views
1

ElectronとAngular5を使用して最初のデスクトップアプリケーションを作成しようとしましたが、残念ながらfsモジュールを使用していません。私が正しくFSを輸入しているようだ(Visual Studioのコードとコード補完内のエラーなし)が、私はこのエラーを「fs.readFile」コンソールのプリントを使用しようとしたとき:角5内の電子ノードfsを使うにはどうすればいいですか

Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_2_fs__.readFile is not a function 

これは私のサービスのコードですこれまでのところ:

import { Injectable } from '@angular/core'; 
import { ElectronService } from 'ngx-electron'; 
import * as fs from 'fs'; 
import { OpenDialogOptions } from 'electron'; 

@Injectable() 
export class FileService { 

    dialog = this._electronService.remote.dialog; 
    window = this._electronService.remote.getCurrentWindow(); 

    constructor(private _electronService: ElectronService) { } 

    loadFileContent(): void{ 
    this.dialog.showOpenDialog(this.window, {},(fileNames) => { 
     if(fileNames === undefined){ 
     console.error("no files selected!"); 
     return; 
     } 

     fs.readFile(fileNames[0], "utf-8", (err, data) => { 
     if(err){ 
      console.error("Cannot read file ",err); 
      return; 
     } 

     console.log("The content of the file is : "); 
     console.log(data); 
     }); 

    }); 
    } 
} 

私はここで何かを逃していますか? fsがロードされていないか、何か?誰もが助けてくれてありがとう!

答えて

2

kimy82のコメントの助けを借りて答えを見つけました!次その後

ng eject 

私はwebpack.config.jsを開いて、コメントを追加しました::

"target": "node-webkit" 

まずiは、単に使用してAngular5のwebpack.config.jsを取得するために必要単に "ノード"は私のためにうまくいかず、電子はChromiumを使用しているのでこれは問題ありません。

ありがとうございました!

0

お使いのブラウザは、サーバー上のファイルシステムにアクセスできません。 fsをブラウザに読み込まないでください。

+0

電子内でファイルシステムにアクセスする別の方法はありますか?これはDesktop Apps用であり、サーバー用ではありません。この投稿のために、ファイルシステムにアクセスすることは可能ですが、角型またはタイプスクリプトで作成されていないので、私はそれを再現できません:https://ourcodeworld.com/articles/read/106/how-to-choose-read- save-delete-or-file-with-electronic-framework – sonnenpriester

+0

角度バージョンに応じて、webpack configにアクセスできます。あなたがそれを変更することができれば。ターゲットをノードに設定します。うまくいくかもしれない。 _target: 'node'、_ – kimy82

+0

webpackの設定を取得するために私のプロジェクトで現在ejectを実行しましたが、ビルドファイルが壊れました。 Uncaught ReferenceError:exportsは定義されていません... polyfills.bundle.js、vendors.bundle.js、main.bundle.jsのstyles.bundle.js ... Webでヘルプをチェックしていますが、おそらくあなたは何か良いことを知っていますか? – sonnenpriester

関連する問題