Require js优化器相对路径问题

Require js optimizer relative path issue

本文关键字:路径 问题 相对 js 优化 Require      更新时间:2023-09-26

我正在尝试做需要优化器的浏览器示例。我的文件夹结构是这样的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');
      ......
      .....
})

和我的构建。html有这样的配置

{
    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文件加载正确。我尝试了一些组合,从构建添加中删除"js"。"等。

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

Thanks in advance

Ok…最后我解决了路径问题。

我正在加载文件在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作为主文件和构建文件。