javascript - 模块化

模块化的使用

规范:

  • CommonJS(Node.js)
  • AMD(Require.js)
  • CMD(sea.js)

CommonJS(node.js)

CommonJS 特点:

  • 所有模块都有单独的作用域,不会污染全局作用域
  • 重复加载模块只会加载第一次,后面都会从缓存中读取
  • 模块加载顺序是按照代码中出现的顺序
  • 模块加载是同步的

node.js

Node.js 是服务器端 javascript 解释器,允许开发者使用 javascript 语法去编写服务端程序。
Node.js 应用由模块组成,采用 CommonJS 规范,使用全局方法 require 加载模块。

Node.js 搭建一个简单的 HTTP 服务器

var http = requre('http')
var server = http.createServer(function(req, res){
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain')
    res.end('Hello world')
})
server.linten(3000, '127.0.0.1', function(){
    console.log('server running at http://127.0.0.1')
})

编写一个模块并引用

// moduleA.js
module.exports = function(params) {
    console.log(params)
}

// 引入 moduleA.js ,假设两个文件在同意目录下
var moduleA = require('./moduleA')
moduleA()

ES6 标准的模块支持

// car.js
var name = 'bus'
var color = 'blue'
var weight = '20吨'
export { name, color, weight }

// import 引入
import { name, color, weight } from './car'
import { name as busName } from './car'  // 使用 as 对模块重命名
import * as car from './car'  // 使用 * 加载整个文件,car.name、car.color...

export default:默认导出

// aaa.js
export default function() {
    // ...
}

import someName from './aaa'
someName()  // 即执行 default 方法

猜你喜欢

转载自blog.csdn.net/M_wolf/article/details/81474407