使用Grunt连接多个目录中的文件

时间:2016-07-05 11:47:42

标签: node.js gruntjs grunt-contrib-concat

我有一个节点应用程序,其中代码由他们自己的目录中的功能构成。我正在使用Grunt将所有这些文件连接在一起。如何在不破坏任何依赖关系的路径的情况下执行此操作?

以下是一个示例项目结构:

index.js
config/
    database.js
    auth.js
feature1/
    routes.js
    functions.js
feature2/
    routes.js
    functions.js

路径用于index.js,例如require('./config/database');,所以当我连接它们时(例如dist/scripts.min.js)我收到错误,因为./config/database.js文件没有#&# 39; t存在。我应该如何处理这个问题,并在这里连接正确的方法?

1 个答案:

答案 0 :(得分:0)

文件夹结构:

'use strict'
module.exports = function(grunt) {

    require('load-grunt-tasks')(grunt)

    grunt.initConfig({
        concat: {
            options: {
            },
            dist: {
              src: ['src/*/*.js'],
              dest: 'dist/built.js',
            }
        },
    });

    grunt.registerTask('default', ["concat"]);

}

Gruntfile.js

RewriteEngine on
RewriteBase /

RewriteRule ^product/([a-zA-Z0-9\-]+)-([0-9]+)$ index.php?c=product&m=index&id_product=$2 [L]

RewriteCond $1 !^(index\.php|public|\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1         [L,QSA]

这会将/ src dir中所有文件夹中的所有文件联系到一个文件中:/dist/built.js