私はGoogleクロージャコンパイラを使用しようとしています。クロージャコンパイラは、CommonJSスタイルでjsファイルを使用する必要がありますか?
IはprocessCommonJsModulesフラグとのGoogle閉コンパイラJS例に従った:index.js
はrequire('./app.js')
が含まれ、
gulp.task('script', function() {
return gulp.src('./src/app/index.js')
.pipe(compiler({
compilationLevel: 'SIMPLE',
warningLevel: 'VERBOSE',
jsOutputFile: 'output.min.js', // outputs single file
createSourceMap: true,
processCommonJsModules: true
}));
.pipe(gulp.dest('./dist'));
});
と。
これは機能せず、エラーメッセージは非常に助けにならないです:すべての
[17:59:04] src\app\index.js:2 (JSC_COMMONJS_MODULE_LOAD_ERROR)
[17:59:04] Failed to load module "./app.js"
[17:59:04] require('./app.js');
だこと。それは理由を言及せずに編集が失敗したということだけです。
閉鎖コンパイラリポジトリ(https://github.com/google/closure-compiler/wiki/JS-Modules)のモジュールに関するドキュメントを読んだところ、説明:Paths must be absolute or relative and omit the file extension
が見つかりました。
私は次の4つの方法を試してみたが、それらのどれも機能しません:
requre('./app.js')
requre('./app')
requre('/absolute/path/to/app.js')
requre('/absolute/path/to/app')
たぶん閉鎖コンパイラはJSを必要とするサポートしていません。ファイルですか?
または、何か不足していますか?
ありがとうございました!最後に、それは動作します! – xylosper