需要js优化器相对路径问题

时间:2013-06-13 19:35:04

标签: javascript node.js requirejs gruntjs amd

我正在尝试执行需要优化器的browser example。我的文件夹结构如此, r.js build.html 在与js文件夹相同的级别

js
    lib
    |   a.js
    |   b.js
    |   c.js
    scripts
    |   1.js
    |   2.js
    |   3.js
    main.js
在main.js中我已经指定了这样的路径

require.config({
   baseUrl : 'js',
    paths: {
        '1' : 'scripts/1',
        '2' : 'scripts/2',
        '3' : 'scripts/3',

    }
});

和im包括像

这样的模块中的脚本
define(function (require, exports, module) {
    "use strict";

    //load Modules
    var one = require('1'),
        two = require('2'),
        three = require('3');
      ......
      .....
})

我的build.htnl有这样的配置

{
    baseUrl: 'js',
    mainConfigFile: 'js/main.js',
    name: 'main',
    optimize: 'none',
    out: function (text) {
        document.getElementById('output').value = text;
    }               
}

但它没有构建,我可以看到1,2,3文件被 r (在我看到的开发工具网络中)正确加载,但是得到路径错误,如 root / js / js / lib / a.js

不知道为什么js / js正在重复,因为1,2,3文件已正确加载。我尝试了一些组合,从build add'中删除'js'。等等。非组合不起作用。

相对路径中的实际错误是什么。我应该在main和build config中指定什么路径?

提前致谢

1 个答案:

答案 0 :(得分:0)

好的..最后我想出了路径问题。

我正在lib中加载require('js/lib/a')require('js/lib/b')等其他文件中的文件。

当我将此添加为路径时,问题就解决了。

paths: {
        '1' : 'scripts/1',
        '2' : 'scripts/2',
        '3' : 'scripts/3',
        'a' : 'libs/a',
        'b' : 'libs/b',
        'c' : 'libs/c'

    }

为了避免混淆,请记住这一点

  • 将common baseUrl用于主文件和构建文件。