js和css路径的指定

在写前端代码时,在图片路径的设置那里经常会遇到一个问题.比方说,在根目录下面新建了个"images"文夹,里面放了张图片top.gif

在根目录下另外新建了两个文件夹"CSS"和"JS"专门用来存放用到的.css文件和.js文件(假设我们用到的为"test.css"和"test.js")

假设在根目录下有个"test.html"文件,里面分别引用了"test.css"以及"test.js"

<link type="text/css" href="CSS/test.css" rel="stylesheet"/>

<script type="text/javascript" src="JS/test.js"></script>

在test.html中有这样一个标签

<div id="top">

<p>Just for test!</p>

</div>

如果这时我要设置id为top的标签的背景图片,在"test.css"里这样写:

#top{ background:url(../images/top.gif); }

在test.js里面这样写:

document.getElementById("top").style.background="images/top.gif";

可以发现两者有明显的不同,html页面中,引用js脚本和css文件的机制是不一样的.

(1)对于js脚本,html是吧脚本加载到页面中一起解析(就跟你的js脚本直接写在这个页面是一样的)

(2)而对css文件,则仅仅是提供一个连接,并不会将其加载到html页面中,如在本例中,html根据链接去css文件中寻找所需要的图片文件

这两者的区别很重要,当我们要引用一个图片时,在js文件中要以引用它的html的路径为准,而在css文件中,要以改css路径为准.


### 压缩指定路径JSCSS文件并保留可读性的方法 对于需要压缩但不希望混淆代码的情况,可以选择合适的工具及其配置来实现目标。以下是针对JavaScriptCSS文件的具体解决方案。 #### JavaScript 文件的压缩方案 使用 **Terser** 工具可以高效完成此任务。它支持灵活的配置选项,能够满足仅压缩而无需混淆的需求。 ##### 安装 Terser 首先需全局安装 Terser: ```bash npm install -g terser ``` ##### 单个文件压缩 如果只是单独处理某个 `.js` 文件,则可以直接运行以下命令: ```bash terser input.js -o output.js --compress --mangle=false ``` 其中: - `input.js`: 待压缩的源文件。 - `output.js`: 输出的目标文件。 - `--compress`: 启用压缩功能。 - `--mangle=false`: 关闭变量名混淆[^1]。 ##### 批量压缩多个文件 当面对整个目录内的所有 `.js` 文件时,可通过批处理脚本来简化操作过程。下面给出一段适用于 Windows 的批处理代码示例: 新建一个名为 `batch_compress_js.bat` 的文件,并写入如下内容: ```batch @echo off setlocal enabledelayedexpansion :: 设置待压缩的根目录 set "ROOT_DIR=C:\path\to\your\scripts" for /r "%ROOT_DIR%" %%f in (*.js) do ( echo Processing file: %%f... terser "%%f" --compress --mangle=false -o "%%~pf%%~nf.min.js" ) echo All files have been processed. pause exit ``` 这段脚本会遍历指定目录下的每一个 `.js` 文件,对其应用 Terser 进行无混淆的压缩,并将结果保存为带有 `.min.js` 后缀的新文件[^2]。 #### CSS 文件的压缩方案 针对 CSS 文件的压缩需求,推荐采用 **Clean-CSS** 工具。 ##### 安装 Clean-CSS 同样先进行全局安装: ```bash npm install -g clean-css-cli ``` ##### 单个文件压缩 执行下列命令即可对单一 `.css` 文件实施压缩: ```bash cleancss input.css -o output.css --s0 ``` 这里的参数解释如下: - `-o output.css`: 指定输出文件的位置。 - `--s0`: 禁止重命名选择器以维持原有样式定义[^3]。 ##### 多个文件批量压缩 类似于之前的做法,我们也可以编写相应的批处理逻辑用于自动化处理大批量 `.css` 文件。例如创建另一个叫作 `batch_compress_css.bat` 的文件,填入这些语句: ```batch @echo off setlocal enabledelayedexpansion :: 设定包含 css 文件的基础路径 set "BASE_PATH=C:\path\to\stylesheets" for /r "%BASE_PATH%" %%i in (*.css) do ( cleancss "%%i" -o "%%~pi%%~ni.min.css" --s0 echo Finished compressing %%i into %%~ni.min.css ) echo Compression complete for all CSS files under %BASE_PATH% pause exit ``` 这样就能一次性把选定范围里的所有 `.css` 文档转换成更紧凑的形式存储起来,同时不会改变原有的类名或 ID 名称结构[^4]。 --- ### 注意事项 无论是处理 JavaScript 还是 CSS 文件,在实际部署前都应该充分验证经过压缩之后的内容是否仍然保持预期的行为表现以及视觉效果的一致性。另外考虑到跨浏览器兼容性潜在错误修复等问题,最好预留一份未修改过的原始版本副本以便随时回滚恢复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值