是否有任何配置文件或我们可以在 yeoman 中更改的内容将“app”目录设置为其他内容?我使用 Zend Framework 2,它使用“public”目录,因为根 yeoman 使用“app”。
我看到我可以在 Grunt.js 文件中使用目录名称,但是在 yeoman 中重置默认值会很好。
是否有任何配置文件或我们可以在 yeoman 中更改的内容将“app”目录设置为其他内容?我使用 Zend Framework 2,它使用“public”目录,因为根 yeoman 使用“app”。
我看到我可以在 Grunt.js 文件中使用目录名称,但是在 yeoman 中重置默认值会很好。
您想更改Gruntfile.js
设置,因为从 1.0 版开始,这里列出了所有内容,并且构建仅由 Grunt 完成。
正如他们在网站上所写:
Yo 搭建一个新应用程序,编写您的 Grunt 配置并提取您构建时可能需要的相关 Grunt 任务。
Bower 用于依赖管理,因此您不再需要手动下载和管理脚本。
得益于 Yeoman 团队和 grunt-contrib 策划的任务的帮助,Grunt 用于构建、预览和测试您的项目。
我不记得旧设置在 gruntfile 中的位置,但在 1.0 版中位于第 11 行,如下所示:
// configurable paths
var yeomanConfig = {
app: 'app',
dist: 'dist'
};
使用 1.4.7 版本:
1)对于应用程序目录:
Gruntfile.js:
var appConfig = {
app: require('./bower.json').appPath || 'app',
dist: 'www'
};
索引.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'
};
对于 Angular 生成器 0.9.5 版适用于我:
在重命名的文件夹中找到 index.html,然后在评论中找到并编辑部分
build:js({.tmp,clientapp}) 脚本/scripts.js
在文件夹 test 中找到 karma.conf.js 并在文件部分将应用程序更改为“clientapp”
更新到 1.0 并编辑你的 Gruntfile.js
// configurable paths
var yeomanConfig = {
**app: 'app',**
dist: 'dist'
};
很抱歉恢复了这个,但是我发现了一些需要更改的位置,并且觉得我可以增加一些价值:
我使用 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以更改 app 和 dist 文件夹
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
现在这是我不确定的部分......
目前,我从in中删除htmlmin
并停止 html 缩小并停止重命名资产。rev
grunt.registerTask('build'...
Gruntfile.js
然后,我从 Laravel(在您的情况下为 Zend)打开我的主视图模板,并将脚本和样式更改为 grunt 构建的 index.html 中提供的内容/public/assets/index.html
如果有人有更好的方法来解决上述问题,请分享。例如,关于将重命名的资产文件名传递给 zend/laravel 应用程序视图模板。
创建新项目时(至少对于 Angular),有一个 cmd 行 arg 用于:--appPath=[newPath]:
yo angular --appPath=public
如何更改 dist 文件夹名称:
此外,对于最终在这里寻找如何更改 dist 文件夹名称的任何人(就像我所做的那样):我找不到 cmd 行 arg,因此您需要在创建项目后在第 21 行手动编辑Gruntfile.js,但在运行 grunt 之前:
// Configurable paths for the application
var appConfig = {
app: require('./bower.json').appPath || 'app',
//dist: 'dist'
dist: 'public'
};