前面的話
小柒的實習之旅已經過去一週,認識了許多新朋友、大佬,只有走出來,才能看到自己與別人之間的差距。接下來的時間要向前輩們多學習,提升自己。 這周做了一個小小的任務,記錄任務中使用幾個插件。
需求
- 支持 es6
- 修改代碼支持熱更新
babel-node
可以在 node 端自行編譯並運行 es6 。
安裝babel-node: Babel 7.x 以後,babel 的模塊被被拆分。因此需要安裝 @babel/core @babel/node 兩個包來獲取。
npm install --save-dev @babel/core @babel/node
安裝 preset-env: 僅僅安裝 babel-node 是沒用的,運行 js 文件依然會報錯。這是因爲 babel-node 對 import 語法默認是關閉的,因此要安裝指定的 preset 並配置 .babelrc 文件來 開啓語法支持。
npm i @babel/preset-env --save-dev
在根目錄下創建.babelrc文件:
// .babelrc
{
"presets": ["@babel/preset-env"]
}
修改 package.json 文件,使用 babel-node 啓動入口文件:
// 使用命令 npm run server 即可運行
"scripts": {
"server": "babel-node server.js"
},
⚠️注意:不應該 babel-node 在生產中使用。只能用於非打包的過程,用於生產環境打包的體積很大。
nodemon
可以監聽文件的修改,可以自行啓動。
安裝:
npm install --save-dev nodemon
最後修改一下 package.json 的命令即可:
// 使用命令 npm run server 即可運行
"scripts": {
"server": "nodemon --exec babel-node server.js"
},
⚠️注意:–exec 這個參數爲了讓 nodemon 運行非 node程序,這裏後面接的 babel-node 而不是 server.js。
standard
JavaScript 代碼規範,包含檢查器和自動格式化工具
安裝:
$ npm install standard --global // 全局
$ npm install standard --save-dev // 本地
修改 package.json 文件:
"scripts": {
"test": "standard --fix"
}
運行:只要不規範的代碼都會指出來。
npm run test
詳細參考: JavaScript Standard Style
jest
Jest是一個JavaScript測試框架,旨在確保任意JavaScript代碼的正確性。
安裝:
$ npm install --save-dev jest
簡單使用:
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
toBe 與 Object.is 來測試精確相等。 如果您想要檢查對象的值,使用 toEqual 代替:
test('object assignment', () => {
const data = {one: 1};
data['two'] = 2;
expect(data).toEqual({one: 1, two: 2});
});
詳細參考: Jest