7

是否有任何配置文件或我们可以在 yeoman 中更改的内容将“app”目录设置为其他内容?我使用 Zend Framework 2,它使用“public”目录,因为根 yeoman 使用“app”。

我看到我可以在 Grunt.js 文件中使用目录名称,但是在 yeoman 中重置默认值会很好。

4

6 回答 6

7

您想更改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'
};
于 2013-02-25T09:00:54.463 回答
4

使用 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'
};
于 2015-06-10T00:52:34.677 回答
2

对于 Angular 生成器 0.9.5 版适用于我:

  • 将文件夹名称从应用更改为您需要的任何内容,例如“clientapp”
  • 编辑 gruntfile.js,更改 appConfig 应用程序:'clientapp'
  • 编辑 bower.json 更改行“appPath”:“clientapp”
  • 在重命名的文件夹中找到 index.html,然后在评论中找到并编辑部分

    build:js({.tmp,clientapp}) 脚本/scripts.js

  • 在文件夹 test 中找到 karma.conf.js 并在文件部分将应用程序更改为“clientapp”

于 2014-07-28T10:37:03.113 回答
1

更新到 1.0 并编辑你的 Gruntfile.js

// configurable paths
var yeomanConfig = {
    **app: 'app',**
    dist: 'dist'
};
于 2013-03-04T12:02:36.997 回答
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以更改 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 缩小并停止重命名资产。revgrunt.registerTask('build'...Gruntfile.js

然后,我从 Laravel(在您的情况下为 Zend)打开我的主视图模板,并将脚本和样式更改为 grunt 构建的 index.html 中提供的内容/public/assets/index.html

如果有人有更好的方法来解决上述问题,请分享。例如,关于将重命名的资产文件名传递给 zend/laravel 应用程序视图模板。

于 2014-03-24T12:47:09.820 回答
0

创建新项目时(至少对于 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' 
};
于 2015-01-22T11:07:21.417 回答