2016-11-29 17 views
1

nodejsのコアモジュールをブラウザに読み込む際に問題があります。webpackを使用してNodejsコアモジュールをロードする方法

私のxlsxライブラリは、コアモジュールであるfsに依存し、私のアプリケーションをロードするとcannot find module "fs"エラーが発生します。

私はhere終わっ繰り返し、いくつかのグーグルを行ってきた - のための任意のモジュールローダーがあります場合、私は思っていた>process is not defined

- 私は私のwebpack.config.jsファイルにtarget:nodeを追加する必要がありますと言っしかし、彼が提案したように行うことは、別のエラーが発生しをそれは必要ですか?私は何も見つけることができませんでした。

webpack.config.js

module.exports = { 
    entry: "./app/boot", 
    output: { 
    path: __dirname, 
    filename: "./dist/bundle.js" 
    }, 
    resolve: { 
    extensions: ['', '.js', '.ts'] 
    }, 
    module: { 
    loaders: [ 
     { test: /\.ts/, loaders: ["ts-loader"], exclude: /node_modules/ } 
    ], 
    preLoaders: [ 
     // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'. 
     { test: /\.js$/, loader: "source-map-loader", exclude: ['node_modules', 'ext-*', 'lib', 'tools'] } 
    ] 
    }, 
    debug: true, 
    devtool: 'source-map' 
}; 

任意の洞察力はずっと、事前に感謝をapreciatedされるだろうし、他の情報が参考になるなら、私に知らせてください。

私はあなたがすることはできませんbabelgulp

答えて

1

を使用していませんよ。

ブラウザで正しく動作するfsに相当するものはありません。ブラウザーで実行されるJavaScriptは、セキュリティ上の理由からサンドボックス内で実行されており、クライアントのファイルシステムへのアクセスはごく限られています(which is what the module fs is used for in NodeJS)。

+0

私はそれが完璧な意味を理解します。だから、 'fs'を使って' xlsx'をするのはどうしたらいいですか? –

+0

これはライブラリによって異なります。あなたは 'fs'なしでそれを例えば?サーバーからのHTTPリクエストを介して手動でファイルをロードしますか?それからやってください。それ以外の場合は、別のライブラリを探す必要があります。 – Timo

+0

これはおそらく問題の範囲外ですが、より正確には、クライアントからファイルを取得するために 'ng2-file-uploader'を使用し、オブジェクトにファイルを解析するために' node-xlsx'を使用しています。サーバーを使用せずにクライアント上で、任意の提案? –

関連する問題