繁体   English   中英

Grunt + require.js配置一个简单的网站

[英]Grunt + require.js config for a simple website

我的网站有以下简单的结构:

src
  js
    core.js
    main.js
  lib
    jquery-1.8.2.js
    require-2.1.1.js
    require-text.js
  templates
    1.html
    2.html
  index.html
build

我希望将所有js + lib文件编译成一个build / js / main.js文件,并将其他文件复制到build文件夹中。 如何为此任务编写grunt.js配置? 看来我应该使用grunt-contrib-require ..

第二个问题是如何将1.html和2.html(我使用require text!plugin)编译成一行,并包含theese一行来构建/ js / main.js? 这种情况下应该只有两个文件进入构建文件夹 - index.html和main.js.

看看grunt-contrib-requirejs ,看看它是否对你有帮助。

Grunt网站提供了一个非常好的教程来帮助您入门,这就是您需要的:

我不知道如何将这些html文件放在一起,虽然感觉很奇怪,但也许你可以找到它的插件。

你的Gruntfile.js应该驻留在目录的根目录,即ls should show src/ build/ Gruntfile.js

特定于您的要求的`Gruntfile.js内容:

module.exports = function (grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        concat: {

            js: {
                src: [
                    'src/js/*', 'src/lib/*'
                ],
                dest: 'build/js/combined.js'
            }
        },
        uglify: {
            js: {
                files: {
                    'build/js/main.js': ['build/js/combined.js']
                }
            }
        },
    });
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.registerTask('default', ['concat:js', 'uglify:js']);
};

我认为这里不会使用require-js 当您需要按特定顺序加载js scripts时, Require-js很有用。 如果是这种情况,请在pkg: grunt.file.readJSON('package.json'),下面的Gruntfile.js添加以下代码pkg: grunt.file.readJSON('package.json'), line

requirejs: {
  compile: {
    options: {
      baseUrl: "path/to/base",
      mainConfigFile: "path/to/config.js",
      name: "path/to/almond", // assumes a production build using almond
      out: "path/to/optimized.js"
    }
  }
}

您可以考虑将grunt-require添加到luschn放在一起的列表中。 它使用r.js,有很多选项,而且相当不错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM