想要写个浏览器脚本, 发现没个 require 觉得很不爽,
但是微博上很热闹的 SeaJS 又太复杂点, 写短的代码都觉得学习成本不值得..
然后在网上搜这遇到了这个脚本: https://gist.github.com/2602521
是在 StackOverflow 找到的: http://stackoverflow.com/questions/6971583/node-style-require-for-in-browser-javascript
找到了作者自己的介绍: http://pixelsvsbytes.com/blog/2012/04/node-js-require-for-your-browser/
他给出的代码示例是这样的:
<html>
<head>
<script type="text/javascript" src="require.js"></script>
</head>
<body>
<script type="text/javascript">
var greeting = require('./greeting.js');
greeting.sayHello();
</script>
</body>
</html>
exports.sayHello = function() {
alert('Hello World!');
}
觉得很有意思的样子... 等大家评价下 :)
回复 (11)
不会吧,sea.js感觉木有学习成本阿,模块包装在define函数里,其他都一样,小项目不怎么用这个,大的才显出方便。
看两个代码量就知道了呀, 说起来 AMD 模式我真心不习惯
使用了require和exports倒也模块化了不少,就看习惯那种方式
用了下, 发现只能 require 相对路径,, 不能加载 http:// 开头的代码, 不开心..
然后加载路径是.. 按照 .html 文件执行的 URL 执行的..
结果是我无法把模块交给其他项目用.. 好难过啊, 有没有高人肯解救一下啊...
@gxmarioo7 我错了.. SeaJS 相对接近 CMD 的... 放弃这个脚本, 尝试学习 SeaJS 去
@jiyinyiyong 我还纳闷呢,seajs文档写的是遵循CMD规范的...
@gxmari007 主要是套了一层 define, 我被迷惑了..
话说像 Node 里一样直接来 require 不是感觉很爽么... 加个这个干啥
@jiyinyiyong 浏览器里加载脚本会阻塞UI,包装在一个回调函数中以便异步加载啊.
@gxmari007 原来是这样. 服了..