我們常用的一些庫春哨,可以自行打包荆隘,發(fā)布到npm倉庫。
具體步驟赴背;
1椰拒、執(zhí)行npm init -y
,初始化一個package.json
文件
2凰荚、完成庫文件代碼書寫
image.png
3燃观、創(chuàng)建
webpack.config.js
文件,查看詳細(xì)配置
const path = require('path');
module.exports = {
mode: "production",
entry: "./src/index.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "library.js",
library: "root", //
libraryTarget: "umd" //umd:表示支持amd便瑟、cmd缆毁、commonjs、es6 module到涂、import所有這些引入方式
},
externals: "lodash" //防止將某些 import 的包(package)打包到 library.js 中脊框,而是在運行時(runtime)再去從外部獲取這些擴(kuò)展依賴(external dependencies)。
};
4践啄、執(zhí)行npx webpack
打包
5浇雹、修改package.json
文件
{
"name": "6feel-library-test",
"version": "1.0.0",
"description": "",
"main": "./dist/library.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack"
},
"keywords": [],
"author": "飛牛",
"license": "MIT",
"devDependencies": {
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11"
},
"dependencies": {
"lodash": "^4.17.15"
}
}
6、到npm官網(wǎng)創(chuàng)建賬號
7屿讽、本地npm login
登錄
8昭灵、執(zhí)行npm publish
發(fā)布成功,完成操作。【例子在線演示】
然后就可以npm i 6feel-library-test
進(jìn)行安裝了虎锚;
調(diào)用時注意硫痰,webpack.config.js
中配置了externals: "lodash"
,表示lodash
這個包沒有被打包在./dist/library.js
中窜护,所以還需要引入lodash
;
import _ from "lodash";
import 6feel-library-test from " 6feel-library-test";