是這樣子的 我剛好開始學習vue
目前最困惑的就是為什麼有 import這種語法(汗顏....看了很害怕
因為這是以前學C跟學python才看到的引入資料庫語法
當初發現JS很好玩 而且不用import 就很爽
結果現在學習到vue 就出現好多要import的東西
因為我最初的印象就是寫C++ 要寫某些API 忘了import就狂出錯
對我來說是很深的陰影
很怕vue學不起來...
想請問各位前端以及工程師大大們 這個import是跟C++他們的概念學來的嗎
是否是相同的呢
而且有分為什麼選項式 組合式 完全搞不懂差別
希望各位可以分析一下 感恩
歡迎大家討論
結論:import是ES6開始加入js的
以下是詳細說明:
import語法是用來引入其他檔案或庫的功能,這可以讓你在你的程式碼中使用其他檔案或庫中的函數和方法。在JavaScript ES6中引入import和export這兩個語法,是為了方便開發者在編寫複雜的程式碼時,更好地組織代碼。這與C++中的引入API有些類似,但是並不完全相同。
在Vue框架中,有兩種不同的組件導入方式,分別是選項式和組合式。
選項式是通過import語法導入單個組件,這種方式適用於較簡單的項目,當你只需要引入一個組件時,可以使用這種方式。
舉個例子,如果你需要使用一個Button組件,你可以在你的程式碼中使用以下import語法:
import { Button } from 'element-ui';
這樣你就可以在你的程式碼中使用Button組件了。
而組合式則是通過import語法導入多個組件,並通過Vue.extend方法組合成一個新的組件。這種方式適用於較複雜的項目,當你需要引入多個組件並將它們組合成一個新的組件時,可以使用這種方式。
舉個例子,如果你需要使用多個組件,並將它們組合成一個新的組件MyComponent,你可以在你的程式碼中使用以下import語法:
import Component1 from './Component1.vue';
import Component2 from './Component2.vue';
import Component3 from './Component3.vue';
import { Vue } from 'vue';
const MyComponent = Vue.extend({
components: {
Component1,
Component2,
Component3,
},
// ...
});
這樣就可以在程式碼中使用MyComponent組件了。
個人覺得自己做幾次就會熟悉了啦......
只有學校作業那種小小功能的才不用 import,
現在的程式都需能飛天遁地不 import 是要一個 js 寫5000 行嗎!
請盡快適應。
目前個人在使用的程式語言
前端 Javascript 用 import,
後端 PHP 用 require,
底層 Rust 用 use
只要寫程式就逃不掉匯入請習慣.
提一下我喜歡 ESM 的原因吧
(以下內容與 vue 無直接關係,單純提 javascript ESM 的部分)
import 會寫在 js 檔案的開頭
所以一開始就知道這份 js 檔必須依賴哪些外部的資源
如果是傳統使用 <script src="...">
的方式
就無法很直觀的得知這樣的關係
假設某頁面用到 a.js 與 b.js
而 a.js 相依於 1.js 與 2.js
b.js 相依於 1.js 與 3.js
當我們引入 a.js 與 b.js 時,1.js, 2.js, 3.js 會自動加載
不需要我們寫在 html 裡面
之後某天因為某因素用不到 b.js 功能
就直接移除 b.js 即可
這有點像是我們要辦某件事
找這件事情的服務員
他會自動找其他相關的人手一樣
不需要我們主動把人手給他
(雖然相依的檔案還是要放在伺服器,但可以透過 npm 根據 package.json 自動安裝,也很簡單)
另外,透過一些打包工具
例如 rollup、webpack 等
可以把 ESM 打包成單一的 js 檔案提供瀏覽器執行
或是把 ESM 轉成 UMD,就可以像傳統的方式作為函式庫被引入
轉成 commonjs 可以在 node 環境用 require 引入
還有 ESM 在打包可以做 Tree Shaking
會自動移除一些用不到的程式碼
有可能會得到較小的檔案