2017-06-22 15 views
1

以下は私のwebpack.config.jsです。ブラウザの開発ツールで、「Uncaught ReferenceError:require is not defined」を取得します。ReactJS with Webpack:キャッチされていないReferenceError:requireが定義されていません

「target」を削除すると、「ノード」というエラーが発生し、「Uncaught TypeError:fs.​​readFileSyncが関数ではありません」というエラーがスローされます。

var config = { 
    entry: './main.js', 

    output: { 
     filename: './index.js', 
    }, 

    devServer: { 
     inline: true, 
     port: 8080 
    }, 
    node: { 
    fs: "empty" 
    }, 

    module: { 
     loaders: [ 
     { 
      test: /\.jsx?$/, 
      exclude: /node_modules/, 
      loader: 'babel-loader', 

      query: { 
       presets: ['es2015', 'react'] 
      } 
     } 
     ] 
    }, 
    target: 'node' 
} 
module.exports = config; 
+0

ウェブパックの設定に特別な問題はありません。たぶんエラーを出すコードファイルのいくつかを用意するべきでしょうか? – atomrc

+0

は、ブラウザまたはノード内で使用されるコンパイル済みコードですか? main.jsのスニペットも提供できますか? – roughcoder

+0

なぜこのノードが必要ですか:{ fs: "empty" }、 、target:node? – VivekN

答えて

2

ノードからのネイティブモジュールが必要で、ブラウザ内で使用しようとしています。この場合、fsが必要です。

あなたがブラウザのコードを作っているなら、あなたはノードfs.readFileSyncを使用することができない、あなたはtarget: 'node'

を使用するはずの私は、次のmain.jsファイルを使用して問題を再現することができます。

const fs = require('fs'); 

const test = function() { 
    console.log('this is a test'); 
    var contents = fs.readFileSync('DATA', 'utf8'); 
} 

test(); 

あなたは、あなたがいずれかのブラウザ内で追加のファイルを使用しようとしている場合:

ビルド

上のファイルを必要とする。これは、永久にあなたのインデックスを持つファイルのデータを出荷します.jsファイルには、たとえばrequireを使用します。内容が何らかの設定で、ユーザーごとに変更されていない場合、これは完全に許容されます。例として、言語ファイルなどがあります。この方法では、ファイルの内容が大きい場合、資産ファイルが増加し、

const data = require('some-data.json`) 
console.log(data) // would output the JSON 

AJAXコンテンツのAjaxを使用して

/あなたがページの読み込み時にファイルの内容を呼び出すことができます取得します。このファイルが各訪問者に固有のものである場合は、これを行う必要があります。

+0

お返事ありがとうございます。 – user2130898

+0

このメソッドを使用すると、 some-data.jsonをどのように更新できますか? – user2130898

+0

あなたが書いているコードはブラウザで実行する必要がありますか?そうであれば、2つのアプリケーションを作成する必要があります。たとえば、1つは反応し、もう1つはノードです。一般的なプラクティスは、ReactアプリケーションがAPIを介してNodeアプリケーションと通信できることです。これらのAPIを構築する共通のNodeフレームワークはExpress Jです。あなたのAPIはどんなサーバー側の言語でも記述できますが、Nodeである必要はありません。これがあなたを助けてくれることを願っています – roughcoder

関連する問題