Javascript 从html开始一次缩小js和css

Javascript 从html开始一次缩小js和css,javascript,minify,Javascript,Minify,我正在制作一个js小部件,比如地图、日历字段等等。这是我在开发小部件时使用的index.html: <!DOCTYPE html> <html lang="en"> <head> <title>example page</title> <script src="somelib.js"></script> <script src="someotherlib.js"></s

我正在制作一个js小部件,比如地图、日历字段等等。这是我在开发小部件时使用的index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>example page</title>

    <script src="somelib.js"></script>
    <script src="someotherlib.js"></script>
    <script src="awesomelib.js"></script>
    <script src="spectacularlib.js"></script>
    <script src="app.js"></script>


    <link rel="stylesheet" type="text/css" href="some.css" />
    <link rel="stylesheet" type="text/css" href="app.css" />
</head>
<body>
    <div id="widget"></div>

    <script>
        myapp(document.getElementById('widget'));
    </script>
</body>
</html>
它读取index.html并创建一个dist.js和dist.css。

您可以使用它来获取一个.js文件包

从npm或Thread安装magic tool后,您可以执行以下操作:

browserify js/*.js-o js/bundle.js-d

然后在bundle.js中包含索引

注意:我将更新css的答案。

您可以使用它获得一个.js文件包

从npm或Thread安装magic tool后,您可以执行以下操作:

browserify js/*.js-o js/bundle.js-d

然后在index.html中包含bundle.js


注意:我将更新css的答案。

我制作了一个节点实用程序来完成此操作:


基本上,这使用jsdom来解析html文件,提取html文件,并且我制作了一个节点实用程序来实现这一点:


基本上,它使用jsdom解析html文件,提取文件,Browserify是一个神奇的工具:Browserify是一个神奇的工具:执行Browserify js/*.js将以随机顺序获取所有js文件,而不是以它们在index.html文件中出现的正确顺序,因此创建的bundle.js文件将无法工作。或者您必须使用require来包含脚本。执行browserify js/*.js将以随机顺序获取所有js文件,而不是以它们在index.html文件中出现的正确顺序,因此创建的bundle.js文件将无法工作。或者您必须使用require来包含脚本。
$ magictool index.html
- nice html you have. let me parse that and see what I need to do...
- oh, you have somelib.js. let me minify that for you and put it in dist.js
- oh, you have someotherlib.js. let me minify that for you and put it in dist.js
- oh, you have awesomelib.js. let me minify that for you and put it in dist.js
- oh, you have spectacularlib.js. let me minify that for you and put it in dist.js
- oh, you have app.js. let me minify that for you and put it in dist.js
- oh, you have some.css. let me minify that for you and put it in dist.css
- oh, you have app.css. let me minify that for you and put it in dist.css
! dist.js and dist.css created!