如何正确地解析js和css,并在html5中引用它们?

时间:2016-02-28 12:44:37

标签: javascript css html5 jssor

我一直在通过创建个人网站的项目帮助我的朋友,我发现这个awesome jssor template用于图片幻灯片放映。它有三个版本deeply minifiedwithout jquerywith jquery

我没有使用jQuery的经验,所以我决定使用没有jQuery的版本,我花了很多时间试图理解代码中实际发生的事情。然后我转向了深度缩小的版本,这是非常整洁的,因为一切都工作,没有一个引用css或js文件。

现在,在deeply minified版本中,样式和脚本写在一行中。我不打算将它们包含在帖子中,因为它们超过30000个字符,但所有文件都在上面提到的模板链接中可用。

我已使用此css unminifier - 以及此js unminifier - 以某种方式将它们转换为可读且易于理解的格式。之后我相应地创建了样式和js文件,并在那里粘贴了未经授权的代码。我已将文件的引用和路径添加到html的头部,但由于某种原因没有任何作用。

...
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="css/text" href="style/slidestyle.css">
<script src="js/script.js"></script>

<title></title>
</head>
...

您可能会问:“如果没有任何更改,我为什么需要更改任何内容?”。这是真的,但在那种情况下,我不知道它是如何工作的,并希望你同意我的看法,这很糟糕。

我的问题和疑问是,如何正确地消除css和js文件以及后面的单词在html中引用它们?我认为以这种方式做事并不常见,但我希望能够理解事情是如何运作的,并在需要时改变它们。

更新:我已经完成了并完成了GitHub的提交。这适用于任何有类似问题或想要更好地理解滑块如何工作的人。

1 个答案:

答案 0 :(得分:0)

  
    

如何正确地解析js和css

  

长答案简短:你没有;至少不适用于JS。

在CSS中,我知道minifyer只会删除空格,注释和尾随;等等;转换#FF0000 - &gt;红色和那样的东西。所有内容仍然具有可读性,因此添加一些换行符和空格会使代码变得容易。

在JS ont中,只删除了不必要的空格,但所有局部变量和函数名称都被(通常)单字符名称替换。在不同的上下文中,经常对不同的东西使用相同的名称。更具侵略性的minifyer甚至可以将代码的结构改为更短的内容。

我们对代码的所有理解几乎都基于使用的名称和代码结构;所以问题。

您可以尝试从缩小的代码中对某些内容进行反向工程,或者有时您必须在某些其他代码中修补某些内容,但除非您确实需要,否则不要缩小代码,并且别无选择。

  
    

然后我已经转移到深度缩小的版本,这是非常整洁的,因为一切工作没有单独引用css或js文件

  

不,不是,它是最后的选择解决方案,如果其他任何事情都失败了。就像在您无法引用其他文件的环境中一样。

因为浏览器现在无法缓存这些30kb的CSS-String(就像你使用单独的文件一样),并且在最坏的情况下,你会在页面上多次添加这个块,所以它只会使你的HTML膨胀并减慢你的页面速度。

  
    

你可能会问:&#34;如果它没有任何改变,为什么我需要改变任何东西?&#34;。这是真的,但在那种情况下,我不知道它是如何工作的,并希望你同意我的看法,这很糟糕。

  

如果您想了解它是如何工作的,请查看jQuery版本。由于jQuery是一个外部库,因此minifier不能剥离所使用的方法名称。第二,代码更密集,因为你不必阅读管理动画的代码,你只需要调用这些对象上的这些属性的动画调用,依此类推。这使您可以更好地了解此代码中的内容,而无需实现详细信息。