私は Sails.js を初めて使用しますが、ここ数日でたくさんのドキュメントを読んでいるので、プラットフォームの基本的な理解ができたように感じます。しかし、カスタム grunt タスクを追加して登録することはできないようです。いくつかの方法を試しましたが、どれもうまくいかないようです。したがって、単純にして、既存のレジスタ ファイルの 1 つにタスクを登録するだけでよいと考えましたが、まだこの方法を機能させるつもりはありません。
そこで、次の Gruntfile を tasks/config/comp.js に追加しました
module.exports = function(grunt) {
grunt.config.set('comp', {
dev: {
options: {
module: 'system',
moduleResolution: 'node',
target: 'es3',
experimentalDecorators: true,
emitDecoratorMetadata: true,
noImplicitAny: false
},
files: [{
expand: true,
cwd: 'assets/js/',
src: [ '**/*.ts' ],
dest: '.tmp/public/js',
ext: '.js'
}]
}
});
grunt.loadNpmTasks('grunt-ts');
};
そして、次の行を tasks/register/compileAssets.js に追加しました
/**
* `compileAssets`
*
* ---------------------------------------------------------------
*
* This Grunt tasklist is not designed to be used directly-- rather
* it is a helper called by the `default`, `prod`, `build`, and
* `buildProd` tasklists.
*
* For more information see:
* http://sailsjs.org/documentation/anatomy/my-app/tasks/register/compile-assets-js
*
*/
module.exports = function(grunt) {
grunt.registerTask('compileAssets', [
'clean:dev',
'jst:dev',
'less:dev',
'copy:dev',
'coffee:dev',
'comp:dev'
]);
};
ただし、実行するたびにsails lift
次のエラーが発生します
info: アプリを起動しています...
情報: 情報: .-..-. info: info: セイル <| .-.-. 情報: v0.12.13 |\ 情報: /|.\ 情報: / || \ 情報: ,' |' \ info: .-'.-==|/_--' info:
--'-------' info: __---___--___---___--___---___--___ info: ____---___--___---___--___---___--___-__ info: info: Server lifted in
C:\Users\josh\Documents\PGW` info: To see your app, visit http://localhost:1337 info: To shut down Sails 、いつでも + C を押します。デバッグ: ------------------------------------------------ ------- デバッグ: :: Thu Jun 08 2017 16:32:01 GMT-0600 (山岳夏時間)
デバッグ: 環境: 開発デバッグ: ポート: 1337 デバッグ: -------------------------------------- ----------------- error: ** Grunt :: エラーが発生しました。**
エラー:
警告のため中止されました。
警告: タスク "comp:dev" が見つかりません。
エラー: Grunt エラーが発生したようです-- エラー: 修正してから、Sailsを再起動してタスクの実行を続行してください (アセットの変更の監視など) エラー: または、行き詰まった場合は、以下のトラブルシューティングのヒントを確認してください。
エラー: トラブルシューティングのヒント: エラー: エラー: *-> "grunt" および関連する grunt タスク モジュールはローカルにインストールされていますか?
npm install
わからない場合は実行してください。エラー: エラー: *-> LESS、SASS、CoffeeScript ファイルなどの形式が正しくない可能性があります。 エラー: エラー: *-> または、.tmp
ディレクトリにアクセスする権限がありませんか? エラー: 例:C:\Users\josh\Documents\PGW\.tmp
? エラー: エラー: これが当てはまると思われる場合は、実行してみてください: エラー: sudo chown -R YOUR_COMPUTER_USER_NAME C:\Users\josh\Documents\PGW.tmp
私はこれに対して何時間も頭を悩ませてきましたが、なぜsails lift
私のタスクが実行されないのか理解できません。帆のドキュメントと他のスタックオーバーフローの記事を読む間の指示に従っているように感じます。誰かが私がここで欠けているものを理解するのを手伝ってくれますか?
ありがとう