最近我在测试这个库:
https://github.com/webjars/dojo
这很棒,因为我可以将dojo作为maven库带到我的项目中。但问题是,如果没有未压缩的文件,调试有点困难。我知道使用未压缩文件的一种方法是覆盖文件dojo.js.uncompressed.js。为此,我复制dojo.js.uncompressed.js文件并将其粘贴到文件夹中:
web应用程序/ webjars /道场/ 1.9.2 /道场
与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的源地图来避免以前的黑客攻击。
答案 0 :(得分:0)
不确定为什么需要使用webjars,最新的dojo版本可直接从maven
获得http://search.maven.org/#artifactdetails|org.dojotoolkit|dojo|1.9.3|pom
除此之外,如果您因任何原因需要修改源代码,您可以下载未压缩的文件,进行编辑,压缩它们并将zip文件粘贴到您的存储库中。在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>
...
答案 1 :(得分:0)
现在可以使用dojo库的源代码,你只需要使用&#34; -src&#34;的依赖关系,即:。
不过,有&#34; 1.9.4&#34;版本包含版本&#34; 1.9.3&#34;,所以你应该使用版本&#34; 1.9.3&#34;。