代码之家  ›  专栏  ›  技术社区  ›  John Slegers

由r.js驱动的节点构建脚本生成的文件似乎没有任何作用

  •  3
  • John Slegers  · 技术社区  · 7 年前

    src

    src
    |-- index.html
    |-- js
    |    |-- amdconfig.js
    |    |-- main.js
    |    |-- ...
    |-- lib
         |-- require
         |    |-- require.js
         |-- d3
         |    |-- d3.js
         |-- luciad
              |-- ...
    

    index.html 包含以下代码:

    <script src="./lib/requirejs/require.js" type="text/javascript"></script><!-- require.js -->
    <script src="./js/amdconfig.js" type="text/javascript"></script><!-- require.js config -->
    <script type="text/javascript">
        require(["app/js/main"]); /* main module */
    </script>
    

    amdconfig.js

    (function(configure, app) {
      var lib = [app, "lib"].join("/");
      configure({
        baseUrl : app,
        urlArgs : "bust=" + (new Date()).getTime(),
        packages : [{
          name : "requirejs",
          location : [lib, "requirejs"].join("/")
        }, {
          name : "luciad",
          location : [lib, "luciad"].join("/")
        }, {
          name : "d3",
          location : [lib, "d3"].join("/")
        }, {
          name : "app",
          location : app
        }],
        cache : {}
      })
    })(
      require.config ? require.config /* RequireJS */ : require, /* Dojo */
      '.'
    )
    

    builder
    |-- build.js
    |-- package.json
    

    如果有以下代码:

    require('requirejs').optimize({
      baseUrl: '../src',
      paths: {
        main: 'main',
        requirejs : './lib/requirejs',
        luciad : './lib/luciad',
        d3 : './lib/d3',
        app : './'
      },
      name: 'js/main',
      out : '../dist/main.js',
      optimize: "uglify2",
      uglify2: {
        output: {
          beautify: false
        },
        compress: {},
        warnings: true,
        mangle: true
      }
    }, function (buildResponse) {
      console.log(buildResponse);
    });
    

    构建脚本确实生成了一个缩小的 main.js 文件,并按预期在控制台中输出包含的文件列表。

    src公司


    define('namespaced/path',["dependency1", "dependency2"], function(a,b){...});
    

    我想这就是预期的格式。。。

    1 回复  |  直到 7 年前
        1
  •  0
  •   John Slegers    7 年前

    生产的产品看起来是这样的:

    define('luciad/util/create',[],function(){...});
    define('luciad/error/_createError',["../util/create"],function(a){...});
    define('luciad/error/ProgrammingError',["./_createError"],function(a){...)});
    ...
    define('js/main',[...],function(...){...});
    

    js/main

    require(["app/js/main"]);
    

    require(["app/js/main"]) 由于找不到名为 app/js/main

    name js/main app/js/main

    我不知道我怎么会错过这个,但我猜沉默的失败