2016-05-11 6 views
1

私はReactを初めて使用しています。私は、複数のJSXファイル全体で使用する必要があるいくつかのJS関数があることを発見しました。webpackを使用してReactプロジェクトにグローバルなJSファイルを含めるにはどうすればよいですか?

私はいくつかの例を見てきましたが、私のglobal.jsファイルを正しく含む方法を理解できません。

マイフォルダ構造:

/dist 
/src 
    /components 
    /sass 
    /img 
    index.js 
    global.js 
webpack.config.js 

これは私のWebPACKのファイルです:

var path = require('path'); 
var webpack = require('webpack'); 

module.exports = { 
    entry: "./src/index.js", 
    output: { 
     path: __dirname + "/js/", 
     filename: "bundle.js" 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.jsx?$/, 
       exclude: /node_modules/, 
       loader: 'babel', 
       query: { 
        cacheDirectory: true, 
        presets: ['es2015', 'react'] 
       } 
      } 
     ] 
    } 
}; 

誰がどのように正しく、これは行く、この1つのファイルとWebPACKのコードでを含めるように教えてもらえますか?

答えて

1

私はあなたが必要とするものについてはわかりませんが、webpackはあなたの建物システムなので、あなたは何を望んでいるのかより低いレベルでプレーします。あなたは、さまざまなファイル内の関数を含めたい場合は、あなたがそれを必要な場所にファイルをインクルードする必要があります。

global.js

module.export = { 
func1: .., 
func2: .. 
} 

あなたが機能を必要とするファイル:

var globals = require('path/to/global.js') 
+0

私が必要任意の '* .jsx'ファイルからアクセスできる' global.js'の関数です。 – Steven

+0

私が知っている唯一の方法は、すべてのファイルでそれを必要とすることです(例えば、 'react'を使うときはすべてのファイルに反応を要求する必要があるので、もう一つの行を追加するという問題はありません)。たぶん、各ファイルにビルド段階でコードを追加する方法がありますが、私には良い練習には見えません。 – ciaoben

+0

@Steven私はあなたがローダーになるべきだと思っています:https://webpack.github.io/docs/how -to-write-a-loader.htmlこれはあなたの目標を達成するために必要なものです – ciaoben