new phaser pluginを書き込もうとしており、ファイル間でES6クラスのインポートに問題があります。現在の設定は正常に構築され、出力はhereです。しかし、私は実際のフェイザーゲームでコンパイルされたプラグインを使用しようとすると...プロジェクトでカスタムES6 Phaser.Pluginを使用しようとしたときにモジュールが見つかりません
import '../plugins/phaser-dynamic-state-transition';
私リンターは、私はそれが正常にビルドを見つけていることを知っている、このことから
Cannot find module './TransitionStateManager' from '~/src/plugins'
エラーをピックアップES5プラグインをダウンロードしてゲームにインポートしようとしました。また、プラグインのsrcにファイルが1つしかない場合にも成功します。この問題は、2番目のファイルが追加されたときにTransitionStateManagerが正常にコンパイルされていてもゲーム内で発生します。
これはなぜ発生しているのですか?
編集:
あなたはGitHubのレポhereのコードのすべてを見ることができます。
私はgrunt
を実行し、ソースファイルをファイルに同梱されて出力される。しかし、ここでは便宜のために、私のGruntfile.js
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
//allow import/export of JS classes
browserify: {
dist: {
options: {
transform: [ //transform ES6 code to ES5 code
["babelify", {
loose: "all"
}]
]
},
files: {
"./dist/<%= pkg.name %>.js": ["./src/index.js"]
}
}
},
//turn the output js file into a minified file (use less kB)
uglify: {
dist: {
files: {
"./dist/<%= pkg.name %>.min.js": ["./dist/<%= pkg.name %>.js"]
}
}
},
//define the watch task: build when you save an edit
watch: {
scripts: {
files: ["./src/*.js"],
tasks: ["build"]
}
}
});
grunt.loadNpmTasks("grunt-browserify");
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.registerTask("build", ["browserify","uglify"]);//define the modules that will run in the build task
grunt.registerTask("default", ["build","watch"]); //build and then start watching the files for changes
};
編集です。私はそのファイルを取り出し、私のゲームプロジェクトのsrc/plugins
フォルダにコピーします。私のsrc
フォルダには、ファイルPreload.js
があり、それにはimport '../plugins/phaser-dynamic-state-transition';
という行があります。この時点で、私には'./TransitionStateManager'
と言っているGulpエラーがあります。
編集:
私は現在、NPMからこのtransition pluginを使用している、と私はそれが動作にもかかわらず...私はfrom the source直接それをダウンロードし、それを参照しようとした場合、私は同じエラーを持っていることを発見しましたNPMから罰金。
ワーキング:1. npm install phaser-state-transition --save
2.動作しないimport 'phaser-state-transition';
を通じて消費:1. Download the source 2. import '../plugins/phaser-state-transition';
編集を経て消費:私ならば、それは動作しますが、SO
GitHubリポジトリと私自身のリポジトリの両方で、縮小版(uglifyプラグインで構築)を使用してください。なぜこの作品が動作しているのか分かりません。
質問にbrowserify設定を含めることはできますか? – cartant
更新されました。見ていただきありがとうございます! –
コンパイル済みのプラグインを使用しようとしています(ビルドされたバンドルを意味しますか?どのようにあなたはそれを使用/消費しようとしていますか? – cartant