SeaJS学习笔记(一) ./ 和 ../ 区别
最近要去实习,公司里使用sea.js进行模块化开发
具体下载安装就不多说了,请参见SeaJS官网
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript" src="sea.js"></script> <script type="text/javascript"> seajs.config({ paths: { "jQuery": "/", "hello": "../seaFile" }, alias: { "jQuery": "jquery-2.0.3.min", "hello": "hello/hello" } }); seajs.use("hello",function(a){ a.get(); }); </script> <script type="text/javascript" src="use.js"></script> </body> </html>
我的目录结构是这样的,一个seaJS的文件夹,文件夹下
有jquery,sea.html,sea.js (sea.html中代码如上述代码所示),
有文件目录seaFile,此文件目录下有我使用define定义好的一个模块js文件(hello.js)
seajs.config({ paths: { "jQuery": "/", "hello": "../seaFile" }, alias: { "jQuery": "jquery-2.0.3.min", "hello": "hello/hello" } }); seajs.use("hello",function(a){ a.get(); });
首先如上述代码是加载不到,我所使用的模块的,找不到该模块,上面的hello设置的路径是../
我发现SeaJS官方文档上有这样一句话
- 模块标识可以是 相对 或 顶级 标识。如果第一项是
.
或..
,则该模块标识是相对标识。
的确这样解析路径也是相对路径,但是它相对到什么地方去了呢?
我发现 http://localhost:63342/www/seaFile/hello.js 404 (Not Found) 没有找到该文件,
http://localhost/的实际目录是E:/wamp/www 但是我这样../ 目录增加了一个www
上述path引入的地方,如果改成一个./就没有任何引入了
总结: ../ 和 ./ 都是相对标识,只是相对标识的位置不一样, ./是相对于当前目录 ../是相对于当前目录上次目录,就是一个多个点,就多往上面翻一次
PS: 写完发现这个问题好蠢