使用Grunt将多个目录中的文件连接起来
问题描述:
我有一个节点应用程序,其中的代码由其自己的目录中的功能构成。我正在使用Grunt将所有这些文件连接在一起。我应该如何做到这一点,而不会破坏任何依赖关系的路径?使用Grunt将多个目录中的文件连接起来
下面是一个例子项目结构:
index.js
config/
database.js
auth.js
feature1/
routes.js
functions.js
feature2/
routes.js
functions.js
路径在index.js
使用,e.g require('./config/database');
所以当我将它们连接起来(例如以dist/scripts.min.js
)我得到错误,因为./config/database.js
文件不存在。我应该如何处理这个问题,并且在这里连接正确的方法?
答
文件夹结构:
/MyApp
/dist
/src
/folder1
file.js
/folder2
file.js
Gruntfile.js
Gruntfile.js
'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"]);
}
这将联系所有文件中的所有文件夹内内/ src目录目录,到单个文件:/dist/built.js
我仍然遇到同样的问题。当我运行'node dist/built.js'时,我得到一个“无法找到模块”的错误,因为folder1/file1.js会导入其他模块,例如'需要('../ folder2/file.js');'和路径是无效dist/built.js –
你能发布完整的错误,并分享你的.js文件的例子,所以我帮你吗? – DmitryK
我已经把一个非常简单的网络应用程序放在这里,只有两个需要对方的JS文件。 https://www.dropbox.com/s/y3hvkfv2ae9e8pg/grunt_so.zip?dl=0错误是错误:找不到模块'./env' –