国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

node中modules.exports與exports導出的區別

2024-05-06 15:33:34
字體:
來源:轉載
供稿:網友

一:node是什么?

node只是平臺,或者說是環境,其實用的還是js語法

主要框架express以及koa,兩個框架是同一個團隊開發,node中也有類似于php的Ci框架的MVC模式

    M->model數據層的增刪改差操作 V->view視圖層 C->controller路由控制,主要起到轉發工作

一個完整的node構成:node.js+express+mysql

二:工作代碼的順序:

    app.js為node的入口文件, 在view寫好html文件,模板可以任意, rouer負責路由跳轉 controllers負責具體業務方法的操作,在這個文件里涉及到的增刪改差放在model中 model負責數據的操作

此外,默認的端口號為3000,底層如啟動命令也可以配置,node支持的導出為module.exports(整體導出) / exports(單個導出),模塊引用為require

三:node中modules.exports與exports

node中使用require和modules.exports以及exports是因為node遵循CommonJS規范。

CommonJS定義的模塊分為: 模塊標識(module)、模塊定義(exports) 、模塊引用(require)

使用范圍

require export / import module.exports / exports
node 和 es6 都支持的引入 只有es6 支持的導出引入 只有 node 支持的導出

exports與modules.exports指向相同地址

exports ->{}<- modules.exports

我理解為實際上每次都是導出modules.exports,本來指向一個地址,如下會切斷modules.exports和exports分別指向兩個地址

a.js

modules.exports = {a:2}exports.a = 1 

app.js

var a = require ('./a')console.log(a.a) // 執行node app 打印2

類比

var obj = new Object();obj.name = 'lisi'//情況一:對象.屬性// obj.sayHello 相當于export.sayHelloobj.sayHello = function () {  console.log(this.name) // lisi}obj.sayHello(); //情況二:對象.方法//obj相當于module.exportsobj = {  sayHello: function () {   // . ...  }.}console.log(obj.name) // undefinedobj.sayHello(); obj.name(); // 打印不出lisi,已經重寫obj,obj下面沒有name方法

此文章也是自己的學習記錄,如有不足,歡迎指正指導。也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 滁州市| 西乌珠穆沁旗| 广汉市| 临沧市| 莒南县| 阳朔县| 阜新市| 合川市| 尚志市| 密山市| 定远县| 泰来县| 麻栗坡县| 集安市| 新化县| 永新县| 泸西县| 邹城市| 营口市| 太仓市| 都兰县| 信宜市| 运城市| 衡阳市| 广西| 泸州市| 太湖县| 始兴县| 博客| 河北区| 浑源县| 静乐县| 阳信县| 亳州市| 台北县| 舒兰市| 泊头市| 中牟县| 颍上县| 文化| 视频|