Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为大js包构建脚本_Javascript_Node.js_D3.js_Requirejs - Fatal编程技术网

Javascript 为大js包构建脚本

Javascript 为大js包构建脚本,javascript,node.js,d3.js,requirejs,Javascript,Node.js,D3.js,Requirejs,我正在使用d3.js编写一个非常复杂的js图表库。代码组织在多个文件中(确切地说是17个),每个文件都有一个或多个类。此外,代码具有多个外部依赖项,如d3.js、jQuery、下划线等 要加载图表,必须以适当的顺序加载不同的文件,以管理文件之间的相关性 我想创建一个构建脚本,该脚本将管理所有依赖项(内部和外部),以创建一个独立的库。我知道requirejs,我喜欢它,我想使用它。但是我没有找到一种方法,可以让它在不添加客户端依赖项的情况下编译服务器端代码 这里的目标实际上是通过只加载一个文件,使

我正在使用d3.js编写一个非常复杂的js图表库。代码组织在多个文件中(确切地说是17个),每个文件都有一个或多个类。此外,代码具有多个外部依赖项,如d3.js、jQuery、下划线等

要加载图表,必须以适当的顺序加载不同的文件,以管理文件之间的相关性

我想创建一个构建脚本,该脚本将管理所有依赖项(内部和外部),以创建一个独立的库。我知道requirejs,我喜欢它,我想使用它。但是我没有找到一种方法,可以让它在不添加客户端依赖项的情况下编译服务器端代码

这里的目标实际上是通过只加载一个文件,使库可以像其他库一样轻松地用于任何项目。由于我计划在服务器端也使用该库,我希望该解决方案也与node.js兼容

下面是一个伪代码示例,它显示了我的代码的样子

//  in file1.js
var Foo = {}
Foo.Class1 = function(params){
    this.params = params;
    this.bar = function(){
        return this.params.bar || "bar";
    }
}

//  in file2.js
foo.Class2() = function(params){
   $.extend(this, new Foo.Class1(params));

   this.bar = function(){
        return this.params.bar || "BAR";
    }
}

例如,有很多项目可以组合JavaScripts,或者。

我选择使用Grunt。没有真正的原因,除了它看起来有很好的记录和非常活跃

所以在知道Grunt的存在不到15分钟后,这里有一个Grunt.js文件解决了我的问题

module.exports = function(grunt) {

    // Project configuration.
    grunt.initConfig({
      concat: {
        dist: {
          src: ['file1.js', 'file2.js'],
          dest: 'built.js'
        }
      }
    });
};
真的很期待使用更多的咕噜声

干杯,安德烈亚斯·科伯勒