我正在尝试合并我的所有插件,以便我可以改变:
<html>
<head>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/plugin1.js"></script>
<script src="js/plugin2.js"></script>
<script src="js/plugin3.js"></script>
<script src="js/plugin4.js"></script>
</body>
</html>
到此:
<html>
<head>
</head>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/plugins.min.js"></script>
</body>
</html>
主要的想法是有一个工具“自动导入”我的plugins.js文件我的网站所需的所有插件,并在编译时缩小它们。我一直在测试Google Closure(可下载的Java版本的编译器),我想到了如何缩小文件,但我无法导入外部文件。所以我想问你是否可以告诉我Google Closure是否是我正在寻找的工具,或者我是否应该使用其他工具或方法。
使用“自动导入”我的意思是:
插件/ HELLO.JS
function hello(name) {
alert('Hello, ' + name);
}
PLUGINS.JS
@import hello.js
hello('New user');
我希望自己说清楚,如果我搞砸了我的英语,我会道歉。
谢谢!
答案 0 :(得分:5)
java -jar compiler.jar --js 1.js --js 2.js --js 3.js --js_output_file all.js
我尝试过这样的行(在Closure Compiler服务UI中使用):
// ==ClosureCompiler==
// @code_url 1.js
// @code_url 2.js
// @code_url 3.js
// ==/ClosureCompiler==
...在“main.js”中编译 - 没有效果。 :(
答案 1 :(得分:2)
使用RequireJs及其优化可能性。看看这里:http://requirejs.org/docs/optimization.html
答案 2 :(得分:1)
Closure-compiler可以完全按照你想要的方式完成,但只能使用Closure-library代码,因为它使用goog.require
调用。使用jQuery代码,它可以做的最好的事情是将所有插件编译到一个文件中,但它不会考虑实际使用情况。
不幸的是,我不知道通常会为代码做什么。
注意:预计这个问题不会被接受。这个问题具体问了关于Closure-compiler的问题,我想确保至少在哪里说过编译器无法正常工作。
答案 3 :(得分:0)
您可能需要查看require.js