为什么Yeoman在没有glyphicons的情况下建造?

Édo*_*pez 5 deployment fonts gruntjs yeoman

我正在研究一webapp台发电机,运行后grunt我得到了一个正确显示字体的功能应用程序.但是,当我在dist/目录中检查时,我没有得到任何字体文件.

文档说明了该grunt命令build the application for deployment,但该dist/目录不是自治的.

Gruntfile.js配置

我的copy:dist任务如下:

dist: {
    files: [{
        expand: true,
        dot: true,
        cwd: '<%= yeoman.app %>',
        dest: '<%= yeoman.dist %>',
        src: [
            '*.{ico,png,txt}',
            '.htaccess',
            'images/{,*/}*.{webp,gif}',
            'styles/fonts/{,*/}*.*'
        ]
    }]
},
Run Code Online (Sandbox Code Playgroud)

所以它会复制字体,但不会复制字体中的字形 bower_components/sass-bootstrap/dist/fonts/

构建内容

这是我跑完后得到的全部 grunt build

./dist
??? 404.html
??? favicon.ico
??? index.html
??? robots.txt
??? scripts
?   ??? coffee.js
?   ??? plugins.js
?   ??? vendor.js
?   ??? main.js
??? styles
    ??? main.css
Run Code Online (Sandbox Code Playgroud)

那么如何创建包含所有文件和资源的部署目录呢?

小智 12

yeoman 1.1.2似乎不适合上面的答案.

更改您的Gruntfile.js并添加:

copy: {
  dist: {
    files: [{
      expand: true,
      dot: true,
      cwd: '<%= yeoman.app %>',
      dest: '<%= yeoman.dist %>',
      src: [
        '*.{ico,png,txt}',
        '.htaccess',
        '*.html',
        'views/{,*/}*.html',
        'bower_components/**/*',
        'images/{,*/}*.{webp}',
        'fonts/*',
      ]
    }, {
      expand: true,
      cwd: '.tmp/images',
      dest: '<%= yeoman.dist %>/images',
      src: ['generated/*']
    }, {                                                   <--- add this start
        expand: true,
        cwd: '<%= yeoman.app %>/bower_components/bootstrap/fonts',
        dest: '<%= yeoman.dist %>/fonts',
        src: '*.*'
    }]                                                     <--- end add
  },
  styles: {
Run Code Online (Sandbox Code Playgroud)

添加一个新的块,将字体从bower组件复制到dist目录中.如果使用sass发行版,请使用sass-bootstrap替换bootstrap.

  • 我的字体在`bower_components/bootstrap/dist/fonts`中. (2认同)

Sin*_*hus 5

那是一个错误.目前最简单的方法是将它们手动复制到fonts文件夹.


pas*_*ssy 5

Sindre提到的错误现已修复.您可以使用generator-webapp> = 0.4.2 启动新项目,也可以手动应用此修补程序,这只涉及复制任务的一个新行:

    copy: {
        dist: {
            files: [{
                expand: true,
                dot: true,
                cwd: '<%%= yeoman.app %>',
                dest: '<%%= yeoman.dist %>',
                src: [
                    '*.{ico,png,txt}',
                    '.htaccess',
                    'images/{,*/}*.{webp,gif}',
                    'styles/fonts/{,*/}*.*',
                    'bower_components/sass-bootstrap/fonts/*.*' // <-- New line
                ]
            }]
        }
    }
Run Code Online (Sandbox Code Playgroud)