在开发Node
js
中
,我们往往最常用的模块就是fs核心模块(fs.readFile)来读取文件。代码如下:
但是运行之后,并没有按照想象
中
一样,读取test.html文件内容,这是一个bug,坑爹的玩意,解决办法:
其实由于运行环境的不同,以上的
相对路径
的
写法
导致最后读取的位置是不同的。
正确的
写法
应该是使用”path.join()”的方式实现:(__dirname表示当前文件的目录名)
//require 表示引包,引包就是引用自己的一个特殊功能
var http = require("http");
var path = require("path");
var fs = requir
获取页面
中
资源完整绝对的url地址
页面
中
很多资源文件有时候我们都是用的
相对路径
引入的,但是遇到需要将地址传给第三方(如分享微博 微信时),往往需要传给完整的路径。此时简单暴力的
写法
是直接写个地址上去,该方法适用于已经预先知道将要上线的实际地址。还有一种可以变通的方法就是根据页面得到资源的完整绝对路径。
到底怎么做呢?类似 abc.jpg, ../abc.jpg, /abc.jpg, ../../.abc.jpg 这些如何得到正确的完整地址呢?
解析页面url,得到http头、host、端口、path,再分析资源路径,然后拼接成最终的完整路径。这种无疑很麻烦,如果一定要这样,我宁愿直接写个死地址上去 ==!
通过小技巧让浏览器自动解析,简单快捷,这正式我们要讨论的内容。
我们可以利用浏览器本身支持的具有 src href 属性的节点对象来实现。
这是浏览器调试页面,在这里,根目录就是222.192.7.75
所以,当在
js
中
访问url时,或者是html某些元素的src属性时,如果要访问css
中
的文件时,采用
相对路径
的两种方式:
1.使用相对根目录的路径
"/hydro-model-integration/css/***.css"
2.如果...
在
js
中
,经常会出现的一个问题就是路径写不对的问题,尤其是
相对路径
理解不到位的问题。在此进行总结:
首先,
相对路径
最重要的一点是看:引用者是谁, 经常会搞错路径的原因就在引用者上,因为对于一张背景图片或者字体来讲,引用它的有可能是html标签
中
的style,有可能是css文件,所以对于引用者不同,路径的
写法
也有不同。
单独写一个/指的是根目录;
./指的是同级别的目录,如果写././指的与./是...
1、首先需要把a、b绝对路径分割成数组形式(使用split()方法,以/为分割点),
2、其次我们申请一个空的字符串str用于存放最终
相对路径
。
比较两个数组里的元素,如果相同位置的值相同,那么说明他两在在同一文件夹下,此时向str加入‘…/ '。
否则就加上目标b数组
中
**对应位置元素+"/"**符号。直至到最末尾
3、最后,别忘记,最后一个元素后面还会...
const manifest = [
{ src: "images/background.jpg", id: "background" },
{ src: "images/logo.png", id: "logo" },
{ src: "sounds/music.mp3", id: "music" }
const loader = new create
js
.LoadQueue();
loader.loadManifest(manifest);
loader.on("complete", handleComplete);
function handleComplete() {
const background = loader.getResult("background");
const logo = loader.getResult("logo");
const music = loader.getResult("music");
// do something with the loaded assets
请注意,这只是一个例子,实际上preload.
js
的
写法
可以根据具体需求进行调整。
运行vue项目时报错opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ],
【无标题】
Safari浏览器兼容性问题