必要なモジュールを中央に配置する方法でgruntを構成することは可能ですか?
私は次のプロジェクト構造を持っています
-Project
-- subproject
-- subproject
-- subproject
私はすべてのサブプロジェクトでgruntを介してプロジェクトを構築し、各サブプロジェクトをそれ自体で構築することもできます。現在、Gruntfile.js、package.json、フォルダーnode_modules(〜50mb)があり、各サブプロジェクトとルートレベルに必要なすべてのモジュールがあります。
では、node_modulesフォルダーを1つのレベルだけに置くことは可能ですか?たとえば、ルートレベルで、サブプロジェクトはルートレベルのnode_modulesを参照しますか?
-Project
--subproject
--subproject
--subproject
--node_modules
package.jsonまたは他の何かを介してnode_moduleフォルダーを参照する方法はありますか?
編集:
Gruntfile.js(サブプロジェクトレベル)
/*global module:false */
/*jshint node:true */
module.exports = function(grunt) {
"use strict";
// ================================================================================
// project configuration
// ================================================================================
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
jshint: {
globals : {
d3:true,
Modernizr:true,
tempo:true
},
options: grunt.file.readJSON('.jshintrc')
},
csslint: {
subproject: {
src: 'css/**/*.css'
}
},
htmllint : {
subproject: {
src: 'html/**/*.html'
}
},
clean : [ 'output' ],
less : {
options: {
paths: ['./']
},
src: {
expand: true,
cwd: 'css/',
src: ['**/*.less'],
dest: 'css/',
ext: '.css'
}
},
copy: {
subproject: {
files: [
{src: ['img/**', 'js/**', 'folderX/**','!**/*.less'], dest: 'output/subproject/'}
]
}
}
});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-html');
grunt.loadNpmTasks('grunt-css');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-copy');
// ================================================================================
// default task
// ================================================================================
grunt.registerTask('default', ['clean', 'less', 'csslint', 'htmllint', 'copy']);
};
package.json(サブプロジェクトレベル)
{
"description": "subproject",
"title": "Lorem Ipsum",
"devDependencies": {
"grunt-contrib-watch": "~0.2.0",
"grunt-contrib-jshint": "~0.1.1",
"grunt-contrib-less": "~0.5.0",
"grunt-contrib-uglify": "~0.1.1",
"grunt-contrib-copy": "~0.4.0",
"grunt-contrib-qunit": "~0.1.1",
"grunt-css": "~0.5.4",
"grunt-contrib-clean": "~0.4.0",
"grunt-html": "~0.3.3",
"grunt-contrib-concat": "~0.1.3"
}
}
BR、mybecks