当前位置: 首页 > news >正文

四川人防工程建设网站主做销售招聘的招聘网站有哪些

四川人防工程建设网站,主做销售招聘的招聘网站有哪些,推广什么意思,做会计一般关注什么网站封装发布组件是前端开发中非常重要的能力#xff0c;通过对常用组件的封装可以提升团队开发的效率#xff0c;避免重复劳作且不方便维护。好的组件的抽象和封装能让组件得到更广泛和多环境兼容的应用。本文讲述了如何一步步从0到1封装发布一个常用的toast组件的过程。本文是搭…封装发布组件是前端开发中非常重要的能力通过对常用组件的封装可以提升团队开发的效率避免重复劳作且不方便维护。好的组件的抽象和封装能让组件得到更广泛和多环境兼容的应用。本文讲述了如何一步步从0到1封装发布一个常用的toast组件的过程。本文是搭配实例书写的所以理论上根据本文你可以自己成功打包发布一个自己的vue 组件。在文末有对应的项目地址可供参考。组件创建创建一个空文件mkdir ToastComponentcd ToastComponent/初始化一个package.jsonnpm init -y代码如下{name: ToastComponent,version: 1.0.0,description: ,main: index.js,scripts: {test: echo \Error: no test specified\ exit 1},keywords: [],author: ,license: ISC}新建一个src目录,里面写两个文件index.js 和 toast.vue,目录如下├── package.json└── src/└── index.js└── toast.vuetoast.vue如下一个单纯的vue文件{{msg}}export default {name: Toast,data() {return {msg: };}};.toast {position: fixed;left: 50%;top: 50%;transform: translate(-50%, -50%);width: fit-content;height: 44px;background-color: rgba(0, 0, 0);display: flex;justify-content: center;align-items: center;padding-left: 10px;padding-right: 10px;color: #fff;border-radius: 5px;}index.js代码如下import Toast from ./components/Toast.vueToast.install (Vue) {Vue.prototype.$toast (msg, duration) { //添加一个实例方法 这样全局的实例都可以调用$toast方法了 msg、duration是调用$toast时传入的两个参数if (!msg) {return;}duration duration || 1500; //如果不传toast持续时间则默认使用此时间const constroct Vue.extend(Toast) //构造器const instance new constroct(); //创建实例instance.msg msg || ; //将$toast(msg,duration)中的msg传入组件的data中const tpl instance.$mount().$el //vue实例未挂载时可这样拿到它的dom 后续可对它的dom进行操作document.querySelector(body).appendChild(tpl);setTimeout(() {document.querySelector(body).removeChild(tpl)}, duration);}}export default Toast;组件打包对组件进行编译打包这里使用webpack,在跟目录下新建webpack.config.js,配置如下// webpack.config.jsconst path require(path)const { VueLoaderPlugin } require(vue-loader)module.exports {entry: {index: path.join(__dirname, /src/index.js) // 入口文件(就是刚才用于暴露组件的index.js)},output: {path: path.join(__dirname, /dist), // 打包后的文件存放在dist文件夹publicPath: /dist/, // 设置公共路径filename: toast.js, // 打包后输出文件的文件设置为btn.jslibraryTarget: commonjs2 // 这个选项会尝试把库暴露给前使用的模块定义系统这使其和CommonJS、AMD兼容或者暴露为全局变量},module: {rules: [{test: /\.vue$/,loader: vue-loader},// 它会应用到普通的 .css 文件// 以及 .vue 文件中的 {test: /\.css$/,use: [style-loader, css-loader]},// 它会应用到普通的 .js 文件// 以及 .vue 文件中的 {test: /\.js$/,exclude: /node_modules|vue\/dist|vue-router\/|vue-loader\/|vue-hot-reload-api\//,use: {loader: babel-loader,options: {presets: [babel/preset-env]}}}]},plugins: [new VueLoaderPlugin() //这个插件是webpack打包.vue文件必须使用的 它的作用是将你定义的其他规则复制并运用到.vue文件里相应的块 如果你有一条匹配 /\.js$/ 的规则那么它会应用到 .vue 文件里的 ]}对应的package.json 修改如下{name: toast-component,version: 1.0.0,description: ,main: dist/toast.js,scripts: {build: webpack --mode production},keywords: [],author: ,license: ISC,devDependencies: {babel/core: ^7.11.5,babel/preset-env: ^7.11.5,babel-loader: ^8.1.0,css-loader: ^4.2.2,style-loader: ^1.2.1,vue-loader: ^15.9.3,vue-template-compiler: ^2.6.12,webpack: ^4.44.1,webpack-cli: ^3.3.12}}项目目录如下安装对应的依赖npm i编译生成打包文件npm run build可见打包后的文件已生成测试验证组件是否正常npm pack可在目录中看到生成了一个.tgz的压缩包如何检测这个包呢我们可以新建一个vue项目去验证。在此为了方便使用vue-cli新建一个test-toast项目.将刚才生成的压缩包放在test-toast目录的跟路径下npm i toast-component-1.0.0.tgz全局引入注册这个组件//main.jsimport Vue from vueimport App from ./App.vueimport Toast from toast-componentVue.config.productionTip false//全局注册Vue.use(Toast)new Vue({render: h h(App),}).$mount(#app)在项目中使用//App.vue点我出toastexport default {name: App,components: {},methods: {showToast() {this.$toast(hello world, 2000);}}};运行点击按钮可以出现toast如下可以自定义duration、msg至此验证该组件通过就回到组件开发项目就可以发布了。发布在组件项目中命令行运行npm publish即可发布到npm。如需要登录可以运行npm login进行登录再操作。发布成功的效果就可以在npm平台看到该组件了总结本文介绍了如何封装常用的vue toast组件的过程讲述了本地如何测试验证打包的组件以及发布npm的流程。你可以根据这样的流程去发布其他的vue组件为团队和社区贡献更多自己的力量让不凡被看见。如果这篇文章对你有用欢迎点赞你的点赞和支持可以鼓励作者持续输出好的作品哟 让我们一起快速成长~版权声明著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。作者: jackjieli原文链接https://juejin.im/post/6867798692460494861
http://wiki.neutronadmin.com/news/245105/

相关文章:

  • 浙江省住房和城乡建设局网站一个网站同时做百度和360 百度商桥都可以接收客户信息吗
  • 湖南网站建设策划室内空间设计网站推荐
  • 做网站的叫什么微网站 下载
  • 做安全题目是哪个网站营销词汇100个
  • 网站开发逻辑图如何开公众号微信公众平台
  • 想做一个网站个人业务网站建设
  • 做网站的素材包含哪些响应式品牌网站
  • 征求网站建设意见的通知如何做好网站推广
  • 郑州网站设计推荐南京高端网站建设公司哪家好
  • 怎么上传网站到空间用帝国cms做的网站首页
  • 上海明鹏建设集团有限公司网站网络文化有限公司网站建设策划书
  • 企业建立网站的优势企业vi设计欣赏
  • 手机网站打不开的解决方法WordPress的footer文件
  • 深圳网站优化技巧网站建设源码开发
  • 哪家微网站做的好北京的制作网站的公司有哪些
  • 淮北建网站网站访客
  • 网站模板 电器智能展厅设计公司
  • 湖南省邵阳建设局网站琳琅秀网站建设
  • 自己可以做网站推广吗孵化器网站平台建设
  • 焦作建设银行门户网站网站界面是什么做的
  • 盐城市建设局网站打不开北京营销网站建设设计
  • 网站建设教程视频网站虚拟主机行吗
  • c 网站开发 视频wordpress 存储空间
  • 开发手机端网站模板下载网站开发 私活
  • 内黄县住房和城乡建设局网站网站设计的目的和任务
  • 博山网站建设网站运营存在的问题
  • 做网站要注意哪些问题小说网站开发成本
  • iis7 网站打不开百度指数三个功能模块
  • 网站首页psd下载thinkphp网站开发教程
  • 网站加速做网站图片素材