INTRO
在使用vue的过程中,不同项目有些组件会复用,作为小白一直用copy-paste的方式,这次尝试了一种将公共组件放到私服上,应用时直接install-import即可。
公共组件拆分
目录结构
/api: 有关api调用(url,request,response,interceptor处理)。
/assets: css、fonts、images
/calcultor: vue组件文件
/common:utils,filter等公用js文件
/local: vue-i18n
index.js: 入口文件
注册公用组件
在calculator文件夹中的index.js中注册组件:
import CalculatorComponent from './components/Calculator'
// 组件中用到的原本在main.js中引入的css,filter等文件,可以在这个入口文件引用。
// 如果有更好的方式,请尽情砸来。
import '../assets/css/bootstrap.min.css'
import '../assets/css/index.scss'
require('../common/filter')
CalculatorComponent.install = function (Vue) {
Vue.component(CalculatorComponent.name, CalculatorComponent)
}
export default CalculatorComponent
在根目录中的index.js处理导出公共组件:
import CALCULATOR from './calculator'
import MESSAGES from './locale/locale'
// 目前本项目的本地化没有在组件内注册,而是需要外层主项目自己注册在这里导出的MESSAGES
export {CALCULATOR, MESSAGES}
上传私服
npm login --registry=http://xxxx:8080/repository/npm-release/
执行命令,输入账号、密码、邮箱。验证通过后将会在 .npmrc 文件中插入私服仓库 url 和对应的 token。
菜鸟坑:小白第一次敲命令时没有敲上最后的‘/’,一直登陆不进去。。。
npm publish --registry=http://xxxx:8080/repository/npm-release/
然后在主项目里install以及引用这个包就可以愉快地玩耍啦~
哦了!结束~