共计 1620 个字符,预计需要花费 5 分钟才能阅读完成。
前端最根底的就是 HTML+CSS+Javascript
。把握了这三门技术就算入门,但也仅仅是入门,当初前端开发的定义曾经远远不止这些。前端小课堂(HTML/CSS/JS
),本着晋升技术水平,打牢基础知识的中心思想,咱们开课啦(每周四)。
Node 利用 由模块组成,采纳 CommonJS 模块标准。
每个文件就是一个模块,有本人的作用域。在一个文件外面定义的变量、函数、类,都是 公有的,对其余文件不可见。
// 导出 addX
module.exports.addX = 1;
// 导入模块
example = require('./example.js');
console.log(example.addX)
commonjs 模块标准
特点
- 所有代码运行在模块作用域,不会净化全局作用域。
- 模块能够屡次加载,然而只会在第一次加载时运行一次,而后 运行后果就被缓存 了,当前再加载,就间接读取缓存后果。要想让模块再次运行,必须革除缓存。
- 模块加载的程序,依照其在代码中呈现的程序。
- CommonJS 标准 加载模块是同步的,也就是说,只有加载实现,能力执行前面的操作。
module 对象
Node 外部提供一个 Module
构建函数。所有模块都是 Module
的实例。每个模块外部,都有一个 module
对象,代表以后模块。它有以下属性。
module.id
模块的辨认符,通常是带有绝对路径的模块文件名。module.filename
模块的文件名,带有绝对路径。module.loaded
返回一个布尔值,示意模块是否曾经实现加载。-
module.parent
返回一个对象,示意调用该模块的模块。if (!module.parent) { // ran with `node something.js` app.listen(8088, function() {console.log('app listening on port 8088'); }) } else {// used with `require('/.something.js')` module.exports = app; }
module.children
返回一个数组,示意该模块要用到的其余模块。module.exports
示意模块对外输入的值。
AMD 模块标准
CommonJS 标准加载模块是同步的,也就是说,只有加载实现,能力执行前面的操作。AMD 标准则是非同步加载模块,容许指定回调函数。因为 Node.js 次要用于服务器编程,模块文件个别都曾经存在于本地硬盘,所以加载起来比拟快,不必思考非同步加载的形式,所以 CommonJS 标准比拟实用。然而,如果是浏览器环境,要从服务器端加载模块,这时就必须采纳非同步模式,因而浏览器端个别采纳 AMD 标准。
AMD 标准应用 define 办法定义模块,上面就是一个例子:
define(['package/lib'], function(lib){function foo(){lib.log('hello world!');
}
return {foo: foo};
});
AMD 标准容许输入的模块兼容 CommonJS 标准,这时 define
办法须要写成上面这样:
define(function (require, exports, module){var someModule = require("someModule");
var anotherModule = require("anotherModule");
someModule.doTehAwesome();
anotherModule.doMoarAwesome();
exports.asplode = function (){someModule.doTehAwesome();
anotherModule.doMoarAwesome();};
});
微信公众号:前端 linong
参考文献
- 前端培训目录、前端培训布局、前端培训打算
- https://javascript.ruanyifeng.com/nodejs/module.html
正文完
发表至: javascript
2020-10-08