5

yeoman( grunt) ベースのEmber.jsプロジェクトには、次の構造 (関連するコンポーネントのみを示します) があります。

myapp/
├── app
├── component.json
├── package.json
├── Gruntfile.js
├── README.md
│   ├── adapters
│   ├── application.js
│   ├── components
│   ├── controllers
│   ├── generated
│   ├── images
│   ├── models
│   ├── routes
│   ├── scripts
│   ├── styles
│   ├── templates
│   └── views
├── dist
├── node_modules
└── test

application.jsで、 と の値の一部にアクセスする必要がありpackage.jsonますcomponent.json。展開プロセス中にこれにアクセスしたいと思います(gruntタスクとして?)。これは可能ですか?これはどのように実装できますか?

4

2 に答える 2

3

この種のタスクには、このhttps://github.com/outaTiME/grunt-replaceのようなすぐに使用できる grunt パッケージを使用することもできます。最も一般的な使用例は、たとえば、バージョン番号を抽出して JavaScript ファイルにスタンプすることです。グラントラン中に

実装例(テストしていません)

Gruntfile.js:

...
replace: {
    dist: {
        options: {
            variables: {
                version: '<%= pkg.version %>'
            }
        },
        prefix: '@@',
        files: [
            {expand: true, flatten: true, src: ['app/application.js', 'app/README.md'], dest: 'dist/'}
        ]
    }
}
...

アプリケーション.js

...
var App = Framework.Application.create({
    VERSION: @@version,
...
于 2013-04-23T11:49:29.143 に答える
2

grunt.file.readJSON('package.json')単調なタスクのためにファイルから json を読み取るために使用します。

于 2013-04-23T09:34:35.673 に答える