是否有任何配置文件或我们可以在yeoman中更改的内容将“app”目录设置为其他内容?我使用Zend Framework 2,它使用“public”目录作为根yeoman使用“app”。
我看到我可以在Grunt.js文件中找到目录名称,但重置yeoman中的默认值会很好。
答案 0 :(得分:7)
您想要更改Gruntfile.js
设置,因为版本1.0中的所有内容都列在此处,并且构建仅由Grunt完成。
他们在website上写道:
Yo支持一个新的应用程序,编写你的Grunt配置 并提取您可能需要的相关Grunt任务 建立。
Bower用于依赖关系管理,因此您不再需要 必须手动下载和管理您的脚本。
Grunt习惯了 通过任务的帮助,构建,预览和测试您的项目 由Yeoman团队和grunt-contrib策划。
我不记得gruntfile中旧设置的位置,但是版本1.0位于第11行,看起来像这样:
// configurable paths
var yeomanConfig = {
app: 'app',
dist: 'dist'
};
答案 1 :(得分:4)
使用1.4.7版:
1)对于app目录:
Gruntfile.js:
var appConfig = {
app: require('./bower.json').appPath || 'app',
dist: 'www'
};
index.html:
<!-- build:js({.tmp,app}) scripts/scripts.js -->
bower.json:
"appPath": "app"
测试/ karma.conf.js
'app/scripts/**/*.js'
2)对于dist目录:
仅限Gruntfile.js
var appConfig = {
app: require('./bower.json').appPath || 'app',
dist: 'www'
};
答案 2 :(得分:2)
对于Angular生成器版本0.9.5适用于我:
在重命名的文件夹中找到index.html,然后在评论
中查找和编辑部分build:js({。tmp,clientapp})scripts / scripts.js
在文件夹测试中找到karma.conf.js并将应用程序更改为文件部分中的'clientapp'
答案 3 :(得分:1)
更新到1.0并编辑您的Gruntfile.js
// configurable paths
var yeomanConfig = {
**app: 'app',**
dist: 'dist'
};
答案 4 :(得分:0)
很抱歉复活了这个,不过我找到了一些需要改变的位置,觉得我可以添加一些价值:
我使用Laravel,它使用应用程序和公共文件夹,并且从未使用过zend,但我假设类似的东西应该适用。
将Yeoman生成的应用安装到yeoman
:
<强> / [zendapproot] / 强>
mkdir yeoman && cd yeoman
yo angular [appName]
<强> / [zendapproot] /自耕农/ 强>
append contents of `/[zendapproot]/yeoman/.gitignore` into `/[zendapproot]/.gitignore`
move everything except the app directory into /[zendapproot]/
编辑.bowerrc
{
"directory": "yeoman/app/bower_components"
}
编辑Gruntfile.js 以更改应用和远程文件夹
yeoman: {
// configurable paths
app: require('./bower.json').appPath || 'yeoman',
dist: 'public/assets'
},
编辑karma.conf.js
files: [
'yeoman/app/bower_components/angular/angular.js',
'yeoman/app/bower_components/angular-mocks/angular-mocks.js',
'yeoman/app/bower_components/angular-resource/angular-resource.js',
'yeoman/app/bower_components/angular-cookies/angular-cookies.js',
'yeoman/app/bower_components/angular-sanitize/angular-sanitize.js',
'yeoman/app/bower_components/angular-route/angular-route.js',
'yeoman/app/scripts/*.js',
'yeoman/app/scripts/**/*.js',
'yeoman/app/test/mock/**/*.js',
'yeoman/app/test/spec/**/*.js'
],
运行grunt test
以确保测试正常。
运行grunt serve
以在测试环境中提供webapp
运行grunt
来构建哪个应该将应用存储在public/assets
现在这是我不确定的部分......
目前,我从htmlmin
中的rev
删除了grunt.registerTask('build'...
和Gruntfile.js
,以停止html缩小并停止重命名资源。
然后我从Laravel打开我的主视图模板(在你的情况下是Zend),并将脚本和样式更改为grunt build index.html /public/assets/index.html
中提供的
如果有人有更好的方法解决上述问题,请分享。例如关于将重命名的资产文件名传递给zend / laravel应用程序视图模板。
答案 5 :(得分:0)
创建新项目时(至少为角度),有一个cmd行arg: - appPath = [newPath]:
yo angular --appPath=public
如何更改dist文件夹名称:
此外,对于最终在这里寻找如何更改dist文件夹名称的人(就像我一样): 我找不到cmd line arg,因此您需要在创建项目后在第21行手动编辑 Gruntfile.js ,但在运行grunt之前:
// Configurable paths for the application
var appConfig = {
app: require('./bower.json').appPath || 'app',
//dist: 'dist'
dist: 'public'
};