国产探花免费观看_亚洲丰满少妇自慰呻吟_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方法

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

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

圖片精選

主站蜘蛛池模板: 诸城市| 广宁县| 棋牌| 奇台县| 察雅县| 静宁县| 新竹县| 定兴县| 桐梓县| 涟水县| 乃东县| 乐都县| 荔浦县| 屏边| 桂阳县| 乌鲁木齐市| 宁国市| 宝丰县| 陆川县| 碌曲县| 隆尧县| 北安市| 古交市| 长顺县| 龙陵县| 安多县| 岳阳县| 霸州市| 凯里市| 东宁县| 获嘉县| 大埔区| 宜城市| 景东| 大城县| 慈溪市| 西藏| 洛宁县| 汉沽区| 吉隆县| 十堰市|