JavaScriptは主にWebkit
のJavascriptで提供されるすべてのものを探し始めました。私は明らかにモジュールパターンを使用してまともなサイズのアプリケーションを持っている。これらのモジュールは、他のモジュールのパブリック関数を呼び出して計算を行い、結果を返す。Webpackを使用して露呈モジュールを要求する
私のHTMLページに数十のスクリプトが含まれていることを熟考し始めるまで、このパターンを使用していました。だから、私たちはここにいる...
質問の目的のために、私は何が間違っているのかを実証するはるかに簡単なアプリケーションを作った。
私は自分のファイル内に含まれる2つのJavaScriptモジュールを持っている:私は何をしようとしている
はone.js
内two.js
からsayHello
機能を使用しています。
だから、まず、私はWebpack
とexports-loader
をインストールし、次の構成ファイル作成:
module.exports = {
entry: './index.js',
output: {
path: __dirname,
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.jsx$/,
loader: "babel-loader",
query: {
presets: ['es2015']
}
}
]
}
}
index.js
を私のエントリファイルで、単純に以下の1行含まれていますとき、今
require('./one.js');
をこのコードを実行しようとすると、コンソールに次のエラーが表示されます。
もう少し掘りではUncaught ReferenceError: two is not defined
、私はtwo.js
をインポートしようとしたとき、私のコンパイルbundle.js
ファイルには、次のエラーを投げていたことがわかった。
throw new Error("Module parse failed: \testing_env\webpack\two.js 'import' and 'export' may only appear at the top level (2:2)\nYou may need an appropriate loader to handle this file type.
明らかに私が何か間違ったことをやっている、私はよく分かりません。私はexports-loader
とbabel-loader
の両方を試しましたが、喜びはありません。
モジュールの依存関係を解析するために使用するローダはどれですか?
ご協力いただければ幸いです。ボックスのWebPACKのうち
エクスポートする機能が複数ある場合はどうなりますか?私があなたの 'module.exports'に置いたものが、あなたが' require() 'を別のモジュールに置いたときに得られるものであると、私が投稿したように、 – Sam
の例を表示できますか?複数の関数をエクスポートするには、単純に 'module.exports.fn1 = ...; module.exports.fn2 = ... '次に、エクスポートしたすべての関数をobejctする必要があります()。 'const fn1 = require( './ a').fn1;' –