ES6降級處理
因為 ES 6 有瀏覽器兼容性問題,可以使用一些工具進行降級處理,例如:babel
-
降級處理 babel 的使用步驟
- 安裝 Node.js
- 命令行中安裝 babel
- 配置文件
.babelrc
- 運行命令,完成降級
-
項目初始化 (項目文件夾不能有中文)
npm init -y
-
在命令行中,安裝 babel babel官網
npm install @babel/core @babel/cli @babel/preset-env
-
配置文件
.babelrc
(手工創建這個文件)babel 的降級處理配置
{"presets": ["@babel/preset-env"] }
-
在命令行中,運行
# 把轉換的結果輸出到指定的文件 npx babel index.js -o test.js # 把轉換的結果輸出到指定的目錄 npx babel 包含有js的原目錄 -d 轉換后的新目錄
發布屬于自己的包
規范的包結構
在清楚了包的概念、以及如何下載和使用包之后,接下來,我們深入了解一下包的內部結構。
一個規范的包結構,需要符合以下 3 點要求:
- 包必須以單獨的目錄而存在
- 包的頂級目錄下要必須包含
package.json
這個包管理配置文件 package.json
中必須包含name
,version
,main
這三個屬性,分別代表包的名字、版本號、包的入口。- name 包的名字,我們使用 require() 加載模塊的時候,使用的就是這個名字
- version 版本,1.2.18 ,對于一個新的包來說,版本是 1.0.0
- main 入口文件。默認是 index.js 。如果不是,需要使用main指定
注意:以上 3 點要求是一個規范的包結構必須遵守的格式,關于更多的約束,可以參考如下網址:
https://yarnpkg.com/zh-Hans/docs/package-json
開發屬于自己的包
-
需要實現的功能是(比如把首字母轉換成大寫、把時間處理成年月日的形式)
-
初始化包的基本結構
- 新建 itheima-ucfirst 文件夾,作為包的根目錄
- 在 itheima-ucfirst 文件夾中,新建如下三個文件:
- package.json (包管理配置文件)
- index.js (包的入口文件)
- README.md (包的說明文檔)
-
初始化 package.json
關于更多 license 許可協議相關的內容,可參考 https://www.jianshu.com/p/86251523e898
-
index.js 中定義功能方法
編寫包的說明文檔
包根目錄中的 README.md 文件,是包的使用說明文檔。通過它,我們可以事先把包的使用說明,以 markdown 的 格式寫出來,方便用戶參考。
README 文件中具體寫什么內容,沒有強制性的要求;只要能夠清晰地把包的作用、用法、注意事項等描述清楚即可。 我們所創建的這個包的 README.md 文檔中,會包含以下 4 項內容:(可以參考其他包的文檔,比如multer)
- 安裝方式
- 導入方式
- 方法使用說明
- 開源協議
發布包
-
注冊npm賬號
- 訪問 https://www.npmjs.com/ 網站
- 點擊 sign up 按鈕,進入注冊用戶界面
- 填寫賬號相關的信息
- 點擊 Create an Account 按鈕,注冊賬號
-
登錄 npm 賬號(
指的不是頁面中登錄,而是終端中登錄
)npm 賬號注冊完成后,可以在終端中執行 npm login 命令,依次輸入用戶名、密碼、郵箱后,即可登錄成功。
-
把包發布到 npm 上
- 將終端切換到包的根目錄
- 切換鏡像源為npm官網(用taobao的鏡像源不行)
- 運行 npm publish 命令,即可將包發布到 npm 上
- 注意:包名不能雷同
-
常見錯誤
- 沒有切換鏡像源。要發布到npm上,必須切換鏡像源為npm
- 24小時內不能重復發布
- 新注冊的賬號,必須先郵箱(郵件可能是垃圾郵件)驗證,然后才能發布
-
刪除已發布的包
- 運行 npm unpublish 包名 --force 命令,即可從 npm 刪除已發布的包。
-
注意:
- npm unpublish 命令只能刪除 72 小時以內發布的包
- npm unpublish 刪除的包,在 24 小時內不允許重復發布
- 發布包的時候要慎重,盡量不要往 npm 上發布沒有意義的包!
更多關于npm的命令:https://www.npmjs.cn/