多个项目中有很多公共的utils方法,天天挪文件很烦,因此写到写一个npm包统直接引用
初始化
注册网站
npm网站注册地址
创建npm包
以我为例
- 创建fof-utils文件夹
- npm init, 填写信息包括名字,版本,描述等,如下不想填写的可以直接回车为空
属性 | 意义 |
---|---|
name | 包的名字,默认是文件夹的名字 |
version | 版本,默认1.0.0 |
description | 包的作用描述 |
entry | 入口文件 |
test command | 测试命令 |
git repositor | git仓库地址,如果你的包是先放到github上或者其他git仓库里,文件夹里面会存在一个隐藏的.git目录,npm会读到这个目录作为这一项的默认值。如果没有的话,直接回车 |
keyword | 用户关键词搜索 |
author | 作者的信息 |
license | 包的对开源协议名称 |
- 创建src文件夹,index文件,目录如下
-packjson.json
-src
-index.ts
-node_module - index写入代码
发布
控制台登陆,输入用户名,密码,邮箱
npm login
发布
npm publish
发布成功
ps: 注意
发布第一版后,如果要更新迭代,一定要修改package.json里的version
每一次修改,只要需要上传至npm都改改!!!
npm包的写法
webpack 2中不允许混用 import 和 module.exports,可能报错
Uncaught TypeError: Cannot assign to read only property 'exports' of object '
exports 导出的东西需要 require 引入
export 导出的东西需要 import 引入
如果需要引入其他的包,一个文件内页不要混用
正确做法:如
import moment from 'moment' // import引入moment包
export default XXX //不能用module.exports
引入项目
先npm i fof-utils现在安装
import renderFundQuota from 'fof-utils'
使用即可