更改yeoman的应用程序文件夹名称

时间:2013-02-25 00:02:58

标签: javascript yeoman

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

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

6 个答案:

答案 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适用于我:

  • 将文件夹名称从应用更改为您需要的任何内容,例如'clientapp'
  • 编辑gruntfile.js,在appConfig app中更改:'clientapp'
  • 编辑bower.json更改行“appPath”:“clientapp”
  • 在重命名的文件夹中找到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' 
};