0

最近我正在测试这个库:

https://github.com/webjars/dojo

这很棒,因为我可以将 dojo 作为 maven 库带到我的项目中。然而问题是,如果没有未压缩的文件,调试起来有点困难。我知道使用未压缩文件的一种方法是覆盖文件 dojo.js.uncompressed.js。为此,我复制 dojo.js.uncompressed.js 文件并将其粘贴到文件夹中:

webapp/webjars/dojo/1.9.2/dojo

与 dojo.js.uncompressed.js 同名,在第 1012 行我更改了:

        // if result is not absolute, add baseUrl
        if(!(/(^\/)|(\:)/.test(url))){
            url = baseUrl + url;
        }

经过:

// if result is not absolute, add baseUrl
if (!(/(^\/)|(\:)/.test(url))) {
    url = baseUrl + url;
    // if the url begins with "webjas/dojo" and ends with ".js" add ".js.uncompessed"
    if (/^webjars\/dojo\/.+\.js$/.test(url)) {
        url += '.js.uncompressed';
    }
}

虽然这解决了使用未压缩文件的问题,但它是一个丑陋的解决方案。我知道其他方式可以覆盖定义和需要函数,但这将更难以实现。

所以基本上我想知道是否有一种方法可以将源映射与 dojo webjars 一起使用,以避免以前的黑客攻击。

4

2 回答 2

0

现在可以使用dojo库的源代码,你只需要使用“-src”的依赖,即:

http://github.com/webjars/dojo-src

尽管如此,有“1.9.4”版本它包含“1.9.3”版本,所以你应该使用“1.9.3”版本。

于 2014-06-18T14:18:42.823 回答
0

不知道为什么需要使用 webjars,最新的 dojo 构建可以直接从 maven 获得

http://search.maven.org/#artifactdetails|org.dojotoolkit|dojo|1.9.3|pom

除此之外,如果您出于某种原因需要修改源代码,您可以下载未压缩的文件,进行编辑,压缩它们并将压缩文件粘贴到您的存储库中。在您的 maven-war-plugin 配置中,您可以将依赖项添加为覆盖,它将部署到您选择的路径:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.4</version>
  <configuration>
    <useCache>true</useCache>
    <overlays>
      <overlay>
        <groupId>org.dojotoolkit</groupId>
        <artifactId>dojo</artifactId>
        <type>zip</type>
        <targetPath>js/</targetPath>
      </overlay>
    </overlays>
  </configuration>
</plugin>
...
于 2014-04-14T15:20:41.683 回答