- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Sea.js是什
Sea.js是什么?
起初被看作是⼀门玩具语⾔的JavaScript ,最近已经发⽣了很⼤的变化。变化之⼀就是
从HTML 中的script标 转向了模块化。
模块化
模块就是⼀团⿊乎乎的东西,有份⽂档会教你如何使⽤这团东西,你只知道它的接
⼜,但不知道它内部是如何运作的,但这个模块能满⾜你的需求。
过程、函数、类都可以称作为模块,它们有⼀个共同的特点就是封装了功能,供外界
调⽤。对于特定的语⾔,模块所指的东西各有不同。
在Python 中,
模块基本上就是⼀个包含了所有你定义的函数和变量的⽂件。
我们来定义⼀个Python的模块:
# !/usr/bin/env python
# Filename: greet.py
def hello_python( :
print Hello,Python
def hello_javascript( :
print Hello,JavaScript
真的,就是这么简单,我们可以这样使⽤:
# !/usr/bin/env python
# Filename: use_greet.py
import greet
# call greet modules func
# print Hello,Python
greet.hello_python(
greet .py的模块中有两个⽅法,把它们import到use_greet .py 中,我们就可以使⽤了。
Python还提供了另外⼀种引⼊模块的⽅法:
# !/usr/bin/env python
# Filename: use_greet.py
from greet import hello_python
# call greet modules func
# print Hello,Python
hello_python(
可以引⼊模块特定的API 。
JavaScript的模块化
那JavaScript有模块化吗?我想说有,⽽且是与它⼀样的,看下⾯的例⼦:
// File: greet.js
function helloPython( {
document.write(Hello,Python ;
}
function helloJavaScript( {
document.write(Hello,JavaScript ;
}
// File:usegreet.js
helloJavaScript( ;
!DOCTYPE html
!--index .html--
script src=/attachments/image/cimg/script
script src=./usegreet.js/script
在浏览器中打开index .html :
Hello ,JavaScript
可以看到,JavaScript这种通过全局共享的⽅式确实可以实现模块化,你只需要在
HTML 中引⼊需要使⽤的模块脚本即可。
但这样的模块化有两个很实在的问题:
. 必须通过全局变量共享模块,有可能会出现命名冲突的问题;
2. 依赖的⽂件必须⼿动地使⽤标 引⼊到页⾯中。
Node.js的模块化
这些问题如何解决呢?我们要不再来看⼀下Node .j s的模块。你应该知道Node .j s ,现在
它是⽕得不⾏ !
// File:greet.js
exports.helloPython = function( {
console.log(Hello,Python ;
}
exports.helloJavaScript = function( {
console.log(Hello,JavaScript ;
}
// File: usegreet.js
var greet = require(./greet ;
greet.helloJavaScript( ;
运⾏node usegreet.js,控制台会打印:
Hello ,JavaScript
Node .j s把JavaScript移植到了Server端的开发中,Node .j s通过exports和require来实现了
代码的模块化组织。在⼀个Node .j s的模块⽂件中,我们可以使⽤exports把对外的接⼜
暴露出来,其他模块可以使⽤require函数加载其他⽂件,获得这些接⼜,从⽽使⽤模
块提供出来的功能,⽽不关⼼其实现。在npmj 上已经有上万的Node .j s开源模块
了
文档评论(0)