博客 RSS 訂閱

路飛的笑 - webpack打包js文件的分析

在使用webpack中的項目的時候,我們可以使用esModule,也可以使用commonJS,還可以使用import(moduleName)進行模塊的懶加載,那麼這一切webpack是怎麼做到的呢? 1、準備工作 1.1、 使用webapck@4 webpack-cli@3 "html-webpack-plugin": "4", "webpack": "4", "webpack-cli": "3"

es6module , commonjs , webpack

收藏 評論

老牛啊 - Flutter/Dart第04天:Dart異步編程(Future和async/await)

Dart官網代碼實驗室:https://dart.dev/codelabs/async-await 重要説明:本博客基於Dart官網代碼實驗室,但並不是簡單的對官網文章進行翻譯,我會根據個人研發經驗,在覆蓋官網文章核心內容情況下,加入自己的一些擴展問題和問題演示和總結,包括名稱解釋、使用場景説明、代碼樣例覆蓋、最後完整的場景編程等。 啓蒙:錯誤的異步編程樣例 下面是一個錯誤的異步編程樣例,大概過程

dart

收藏 評論

老牛啊 - Flutter/Dart第05天:Dart特殊特性Mixin詳解

Dart官網文檔:https://dart.dev/language/mixins 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 Mixin目的和使用方法(with) 官網文檔:Mixins are a way of defining code that can be reused in mult

dart

收藏 評論

老牛啊 - Flutter/Dart第06天:Dart基礎語法詳解(變量)

Dart官網文檔:https://dart.dev/language/variables 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 Dart中的變量 變量是一個對象的引用,引用名就是變量的名稱;就算引用是null的變量也一樣。 變量有3種定義方式:var關鍵字,顯示類型和Object/dyna

dart

收藏 評論

老牛啊 - Flutter/Dart第07天:Dart基礎語法詳解(庫、導入和關鍵字)

Dart官網文檔:https://dart.dev/language/libraries 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 Dart中的庫(Library) Dart語言對代碼的複用下了不少功夫,如前面講到的Mixin高級特性實現類級別代碼複用。本文介紹另一種更寬廣的代碼複用:庫。 D

dart

收藏 評論

老牛啊 - Flutter/Dart第08天:Dart類型(內置類型、記錄、集合、泛型和類型別名)

Dart內置類型(共10類) Dart官網文檔:https://dart.dev/language/built-in-types Dart內置類型即Dart SDK自帶的類型,我們編程過程中可直接使用的類型,主要分為10類: 數值類型:包括int類、double類等。 字符串類型:即String類。 布爾類型:即bool類。 記錄類型:即Record類,Dart 3中開始支持(最新版本的

dart

收藏 評論

老牛啊 - Flutter/Dart第09天:Dart高級特性Pattern模式的概覽和用法

Dart官方文檔:https://dart.dev/language/patterns 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 Pattern模式匹配的定義 官網定義:Patterns are a syntactic category in the Dart language, like s

dart

收藏 評論

老牛啊 - Flutter/Dart第10天:Dart高級特性Pattern模式的全部類型(共15種)

Dart官方文檔:https://dart.dev/language/pattern-types 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 和操作符一樣,模式運算也遵循一定的優先級規則,我們可以通過增加括號()讓低優先級規則的模式優先運算: 邏輯或模式低於邏輯與模式,邏輯與模式低於關係模式

dart

收藏 評論

老牛啊 - Flutter/Dart第11天:Dart函數方法詳解

Dart官方文檔:https://dart.dev/language/functions 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 Dart語言是純面向對象的編程語言,就是是函數也是對象,它的類型就是Function類(https://api.dart.dev/stable/3.1.3/dar

dart

收藏 評論

老牛啊 - Flutter/Dart第12天:Dart控制流詳解

Dart控制流主要由循環和分支組成: Dart官方文檔-循環:https://dart.dev/language/loops Dart官方文檔-分支:https://dart.dev/language/branches 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 循環 Dart可通過循環

dart

收藏 評論

HeiYanjing - CommonJS模塊分類及加載流程,及模塊加載模擬實現

模塊分類 內置模塊:Node源碼編譯時寫入到二進制文件中 文件模塊:代碼運行時,動態加載 加載流程 路徑分析:依據標識符確定模塊位置(路徑標識符、非路徑標識符) 文件定位:確定目標模塊中具體的文件及文件類型(存在'm1'模塊,導入時使用require('m1')語法,使用m1.js-m1.json-m1.node的順序,如果都沒找到,會被當做一個目錄,查找package.json文件

commonjs

收藏 評論

1916 - js模塊化

js模塊化 https://blog.csdn.net/weixin_... https://zh.javascript.info/mo... commonJS 基於node端的運行 暴露 const name = "xxx"; const age = 1; /** * moudle.exports={}暴露 */ module.exports = { getName,

node.js , es6module , commonjs , Javascript

收藏 評論

老牛啊 - Flutter/Dart第13天:Dart錯誤處理

Dart官方文檔:https://dart.dev/language/error-handling 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 異常 和Java一樣,Dart也可以拋出異常,也可以捕獲異常。Dart異常如果未被捕獲,容易導致進程掛起和導致程序退出。所以,我們在編寫Dart程序時,

dart

收藏 評論

ohoherror - CommonJS和ESM (ES6模塊)的區別

CommonJS和ESM (ES6模塊)都是JavaScript模塊標準,但是它們有一些區別,主要包括以下幾個方面: 語法差異:CommonJS使用require語法引入模塊,而ESM使用import語法引入模塊。 加載方式:CommonJS使用同步加載方式,即遇到require就執行代碼,並等待結果返回後再繼續執行;而ESM使用異步加載方式,它是通過Promise的方式異步加載模塊,遇到i

commonjs , 前端

收藏 評論

老牛啊 - Flutter/Dart第14天:Dart類詳解

Dart官方文檔:https://dart.dev/language/classes 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 Dart類 Dart語言基於類和Mixin繼承,是一門面向對象語言。任何對象都是某個類的實例,除Null之外,Object類其他所有類的父類。 Mixin繼承:Dar

dart

收藏 評論

京東雲開發者 - 前端技術探秘-Nodejs的CommonJS規範實現原理 | 京東物流技術團隊

瞭解Node.js Node.js是一個基於ChromeV8引擎的JavaScript運行環境,使用了一個事件驅動、非阻塞式I/O模型,讓JavaScript 運行在服務端的開發平台,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務端語言平起平坐的腳本語言。Node中增添了很多內置的模塊,提供各種各樣的功能,同時也提供許多第三方模塊。 模塊的問題 為什麼要有模塊 複雜的

chrome , node.js , commonjs , 前端 , Javascript

收藏 評論

老牛啊 - Flutter/Dart第15天:Dart類構造函數

Dart官方文檔:https://dart.dev/language/constructors 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 如下代碼樣例,和Java類似,最常用的生成式構造函數: class Point { double x = 0; double y = 0; P

dart

收藏 評論

老牛啊 - Flutter/Dart第16天:Dart類方法

Dart官方文檔:https://dart.dev/language/methods 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 實例方法 實例方法就是在類中定義的函數。對象的實例方法可訪問this實例和實例變量。如下代碼樣例,distanceTo()函數就是一個實例方法: import 'da

dart

收藏 評論

老牛啊 - Flutter/Dart第17天:Dart類繼承

Dart官方文檔:https://dart.dev/language/extend 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 類繼承(extends/super) Dart語言和Java語言一樣,也是通過extends關鍵字創建子類,通過super關鍵字引用父類: class Televisi

dart

收藏 評論

老牛啊 - Flutter/Dart第18天:Dart特性之可調用對象

Dart官方文檔:https://dart.dev/language/callable-objects 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 可調用對象:Dart實例如果實現了call()方法,那麼實例就可以像函數那樣被調用,這個對象就被稱為可調用對象。call()方法可以定義在任何類中,

dart

收藏 評論

老牛啊 - Flutter/Dart第19天:Dart高級特性之擴展方法(Extension methods)

Dart官方文檔:https://dart.dev/language/extension-methods 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 擴展方法概述 當我們使用了一些被廣泛使用的其他庫或者自己的庫時,我們不太可能去修改這個庫API,但是我們又想給庫增加一些方法,該怎麼辦?如:我們想

dart

收藏 評論

老牛啊 - Flutter/Dart第20天:Dart 3.0新特性之類型修飾符

Dart官方文檔:https://dart.dev/language/class-modifiers 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 類型修飾符主要是控制類或者Mixin如何被使用,包括在庫內部和外部使用。修飾符關鍵字出現在類型或Mixin申明的前面,如abstract class通

dart

收藏 評論

老牛啊 - Flutter/Dart第21天:Dart異步編程(Future/Stream)

Dart官方文檔:https://dart.dev/language/async 重要説明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。 Future處理 我們有2種方式編寫Future異步代碼: 使用async和wait關鍵字 使用Future API(https://dart.dev/guides

dart

收藏 評論

Flutter社區 - Dart 3.2 更新盤點

作者 / Kevin Moore 和 Michael Thomsen 我們隆重宣佈推出 Dart 3.2,這一版本針對以下方面做出了改進: 新增了一項語言功能,可對私有 final 字段進行非空升級;通過新增的互操作功能改善了開發者體驗;支持 DevTools 的擴展程序;並更新了我們的 Web 路線圖,包括提供對 Wasm (又名 WebAssembly) 的支持。 私有 final 字段的非

dart

收藏 評論