我们的 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
任务?)。这可能吗?如何实现?
最佳答案
您还可以使用像这样的现成的 grunt 包 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/'}
]
}
}
...
application.js
...
var App = Framework.Application.create({
VERSION: @@version,
...
关于ember.js - 在 Ember 应用程序中读取 package.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16165501/