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

标签 javascript node.js requirejs gruntjs amd

我正在尝试做 browser example需要优化器。我的文件夹结构如下所示,r.jsbuild.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',

    }
});

我将脚本包含在模块中,例如

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;
    }               
}

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

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

相对路径中的实际错误是什么。我应该在主配置和构建配置中指定什么路径?

提前致谢

最佳答案

好吧..终于我弄清楚了路径问题。

我正在将 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'

    }

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

  • 主文件和构建文件使用通用的baseUrl。

关于javascript - 需要js优化器相对路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17095555/

相关文章:

javascript - 为什么我得到空结果?

javascript - Next tick override functionality does 函数将被调用

node.js - 使用 ssh 在 linux 服务器上启动 nodejs 应用程序-如果我关闭 ssh 连接,应用程序停止为什么?)

node.js - 含羞草.io |包括带有 require.js 的 socket.io 客户端库

javascript - 无法使用 Bower、Jquery UI 和 RequireJS 找到 Jquery UI 依赖项

javascript - 正则表达式匹配邮政编码和第一个字符

javascript - VueJs 将 bool 值绑定(bind)到下拉列表

javascript - 子状态不会以 Angular 触发父状态

javascript - 在我的 Python CGI 脚本中,如何将通过用户在表单中输入的数据的 POST 请求上传的文件保存到磁盘?

node.js - Appcelerator Titanium 错误 Windows 10