wechat-menu-editor 微信自定义菜单编辑器 前言 在做微信公众号相关开发时,基本上会去开发的功能就是微信自定义菜单设置的功能,本着不重复造轮子的原则,于是基于Vue封装的一个微信自定义带单组件:组件参照了公众号后台的所见即所得的编辑方式,同时支持只读模式,也可以根据通过缩放属性适配不同的功能要求: 安装 npm install wechat-menu-editor --save 使用 全局引入 main.js import WechatMenuEditor from 'wecha…
前言:工作的时候总是使用别人的npm包,然而我有时心底会好奇自己如何发布一个npm包呢,什么时候自己的包能够被很多人喜欢并使用呢...今天我终于迈出了第一步. 前提:会使用 npm,有 vue 基础,了解一点 webpack Are you ready?  Go! 目录 编写自己的npm包 发布npm包 使用自己的npm包 更新npm包 最终效果 一.编写自己的npm包 1. 新建一个空文件夹 2. 进入文件夹,终端(cmd)运行 npm init 完成后会在目录下生成一个 package.js…
最近刚好自己需要写公有npm包及上传,虽然百度上资料都能找到,但是都是比较零零碎碎的,个人就来整理下,如何从零开始写一个npm包及上传. 该篇文件只记录一个大概的流程,一些细节没有记录. tips: 这篇文章基于Vue.js 和 github   预备工作 1.首先你需要npm账号和github账号(个人用的是github). 注册账号都比较简单,个人就不再描述. 2.将npm账号和github账号关联,这样才能找到你的代码. 在npm里面找到你的个人设置(Profile Settings),在…
从0到1发布一个npm包 author: @TiffanysBear 最近在项目业务中有遇到一些问题,一些通用的方法或者封装的模块在PC.WAP甚至是APP中都需要使用,但是对于业务的PC.WAP.APP往往是不同的业务.不同的代码库中,尽管已经将公用的组件和方法抽离到各自公共common中,但是各个大业务大方向上的公用封装依然不能满足需求. 比如一个计算文档类型大小的方法,可能都同时存在于各个业务的common中,假设是有3处代码库中均有:如果此时的需求是将文档类型或者大小的方法进行一些修改,…
转自: https://liaolongdong.com/2019/01/24/publish-public-npm.html 如何开发一个npm包并发布到npm中央仓库需求背景:平时在项目工作中可能会用到很多通用性的代码,比如,框架类.工具类以及公用的业务逻辑代码等等,通过打包发布到npm中央仓库或者私有仓库,来进行维护和托管代码,方便公用代码的使用,如果涉及到不方便公开的代码组件可以发布到私有仓库. npm包命名规则及文件夹结构用模块的名称命名根目录,npm包名不能重复 每个npm包根目录下…
前言 最近写项目开发新模块的时候,每次写新模块的时候需要创建一个组件的时候(包含组件css,index.js,组件js),就只能会拷贝其他组件修改名称 ,但是写了1-2个后发现效率太低了,而且极容易出错,所以自己写一个npm包来减少工作量,下面就一步一步来创建一个属于自己的npm仓库 首先第一步创建一个package.json文件,打开终端,输入以下命令: npm init 然后会依次提示项目名称.版本.项目描述.入口文件...一直回车,直到出现Is this ok? (yes) ,然后输入ye…
发布一个npm包,webpack loader: reverse-color-loader,实现颜色反转. 初始化项目 mkdir reverse-color-loader cd ./reverse-color-loader npm init 新建 index.js,手写一个 webpack loader 实现颜色反转.webpack loader 开发文档查看 编写一个 loader module.exports = function (source) { var newSource = so…
一 背景 在工作时,突然接到经理的一个要求,需要将一个react的高阶组件函数封装成一个npm包.之前从没弄过,当场还是有些懵逼的,但是这毕竟是工作,不能推脱.于是开始了学习.汤坑之旅.最终包发布,线上项目成功使用,虽然导致了一次线上故障,但还是快速地fix掉.吃一堑长一智,记录一下整个发布的过程和遇到的一些问题. 二 流程 npm 包可以将可复用逻辑封装成一个工具库,依赖 npm 的强大生态,可以在项目中引入,让代码变得更加简洁,提高效率. 在 npm 官网注册一个账号. 在本地登录 npm…
原文地址:https://www.cnblogs.com/sghy/p/6829747.html 1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站注册地址:https://www.npmjs.com/signup 2.命令行工具登录npm npm login 验证登录是否成功 npm who am i 3.创建npm库 npm init 按照提示输入相应内容: 以下为package.json内容: { "name": "z…
一.安装nodejs 不多说了,网上教程多得是 二.创建自己的npm包 目录结构 npm-test a.js b.js package.json 开发 为了简单便于理解,就开发一个简单地hello程序 a.js function hello(name){ console.log("hello "+ name); } exports.hello=hello; b.js var h=require('./a'); h.hello('Jarrick'); 使用命令npm init创建一个pa…
最近公司有个需求,我们部门开发一个平台项目之后,其他兄弟部门开发出的插件我们可以拿来直接用,并且不需要我们再进行打包,只是做静态的文件引入,研究一波后发现,webpack创建library可以实现. 创建library 完整代码 核心代码为 output: { path: DIST_PATH, publicPath: "", chunkFilename: "[name].js", filename: "testPlugin.js", librar…
前言 我这里是写了一个vue轮播图插件,因此我使用了vue的脚手架工具创建一个项目,当然你也可以选择自己搭建脚手架. 本例中我会使用vue脚手架创建一个项目,并发布到npm上面去. 通过脚手架创建项目 全局安装 首先,要创建项目,封装vue的插件用webpack-simple很合适,因此你需要全局安装@vue/cli-init插件: yarn global add @vue/cli-init //或者 npm install @vue/cli-init -g 使用vue init webpack…
1.先创建一个npm账号 https://www.npmjs.com/signup 2.在cmd里输入命令进入项目文件夹 3.使用npm init 命令创建一个package.json(确保nodejs已安装的情况下) 4.使用npm login命令登录npm账号,如果提示账号不正确始终无法登录, 可能是设置过了npm代理,看看当前用户目录下C:\Users\xia,是否有一个 .npmrc文件,打开文件看看是不是里面有注册代理的设置,如果有可以删除后 登录.成功登录后cmd没有任何提示, ht…
npm包在现在前端开发中经常使用且便利,而我也是经常使用,而没研究怎么去发布npm.那如何发布npm包呢? 一.在npm的官网上注册一个账号登录,https://www.npmjs.com/ 注意此步骤记住登录名和密码,后面会使用到 二.新建一个目录,比如study,进入到这个study目录里,使用 npm login 命令登录,按照提示操作: 注意 password 输入时不显示,继续按正确方式输入就行,不影响 三.进入study目录,执行命令npm init 初始化项目生成package.j…
动机 很多人都想写一个自己的轮子,可是开始动手的时候你总会遇到以下问题 一个基本的 js 库应该如何编写 基本的前端项目都要哪些文件 又要怎么打包发布到 npm 上 你的 es6 语法如何才能让别人识别 readme 应该如何编写 如何添加 eslint 怎么才能打包一个 umd 格式文件让 html 直接引用 为此,我专门制作了一套快速搭建 JavaScript 项目库的模板,并且做好了基本的配置. 目录如下: . ├── _config.yml ├── build # 打包后的项目文件目录…
前言 从去年年初开始,自己便下决心要写一个vue系列的博客,但时至今日,才写系列的第三篇博客,想来甚是惭愧. 但是慢归慢,每一篇都要保证质量,以及要写出自己的心路历程,防止自己工作中填的坑再让读者走一遍. vue上手相对react来说是比较简单的,对于vue的基本指令以及语法,应该没有什么能比官网更详细,更生动的了.仔细想来,vue值得一说的,在项目中会让新手感到困惑的,是vue的组件,今天就最近工作中用到的一个pdf查看组件,和大家聊聊vue的组件.最后会讲如何将自己的代码封装成一个npm包,…
此文已由作者吴维伟授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在编写程序时,总会有一些代码是我们不愿意一遍又一遍重复地去写的,比如一些UI或交互相似组件,或是一些相似的流程或逻辑.以前,面对这样的情况,我会将可以复用的部分抽象出来,做成可以复用的模块,放在专门存放公用模块的文件夹中,便于查找和引用.但是这样只能解决单个项目中公用模块复用的问题,如果你的模块需要被多个项目复用,那么就需要另寻它法了.本文讨论的是通过发布npm包来实现模块复用时有哪些注意事项. 新建一个…
概述 为什么开发npm包? 如何开发? 如何写单元测试? package.json 如何发布模块? 如何使用? 为什么开发npm模块? NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准. npm官网 如何开发? 接下来由带领大家完成一个简单的npm包,功能:读写文件 是不是很复杂呢??? npm init 创建基础目录或文件 mkdir tests lib touch index.js README.md…
npm包的更新说明,你还敢不看吗 前言 平时工作少不了依赖一些第三方的npm包,站在各位大牛的肩膀上来更好的写bug,此外还可以学习各位大佬们的各种设计思路和优雅实现.不过npm包虽好,但使用之前也要多加甄别,特别是相同包的不同版本之间的差别,可能一不小心,原本用的飞起的轮子就会让我们笑不出来.下面用两次惨痛的线上问题来给大家提个醒. 版本依赖符号 在描述问题之前,先谈一下npm的包管理控制. 假设我们依赖一个npm包 a 常见的依赖符号有下面这么几种 { "dependencies"…
下雪了,在家闲着,不如写一个npm 包发布.简单的 npm 包的发布网上有很多教程,我就不记录了.这里记录下,一个复杂的 npm 包发布,复杂指的构建环境复杂. 整个工程使用 rollup 来构建,其中会引进 babel 来转译 ES6,利用 Eslint 来规范代码的书写风格,最后代码的发布会经过 uglify 压缩.同时发布 umd.es 格式的版本以供外部调用. 完整目录结构如下: 下面是整个过程的记录 一.初始化工程 yarn init -y 初始化后,修改 package.json 内…
nodeJS---模块与npm包管理工具 一:从模块外部访问另一个模块内的成员; 假如我现在还在D盘中的node文件夹内中的app.js代码改成如下: var msg = 'hello'; var funName = function(){ return 1; } exports.msg = msg; exports.funName = funName; 使用exports对象将模块中的成员对外可以访问,之后我在同目录下新建app2.js,来调用app.js内的成员msg和funName函数,如…
1.输入 npm config ls -l 可以查看当前的设置 2.针对某一项设置,可以通过下面方式: npm config set 属性名 属性值 eg:npm config set prefix "C:\123\" 3.读取某一项配置,可以通过下面方式: npm config  get  属性名 eg:npm config get prefix 4.npm的常用命令: npm -v:查看npm安装的版本npm help xxx  查看帮助npm install xxx 安装模块np…
创建自己的模块组件 1. ng new 一个工程 2. ng g m 创建模块 例如我这里的modules文件下创建header模块 3. ng g c modules/head 创建一个hear组件,内容随意 4. 将modules模块exports出去,让其他模块可以使用 5. 做个测试在app模块中引入modules模块,并使用header组件 发布前的准备 1.   安装ng-packagr 并在devDependency中声明 npm install ng-packagr --save…
大纲 1.准备2.自定义npm包3.发布自定义npm包4.引用npm包5.更新npm包6.撤销发布的npm包 简书原文 https://www.jianshu.com/p/d737bc5df5b7 1.准备 1.1.注册npm用户 npm官网(https://www.npmjs.com/) 1.2.安装nodeJs Node.js官网(http://nodejs.cn/) 1.3.编辑器 我使用的是编辑器vscode进行操作的,读者也可以打开控制台进入到对应目录中进行操作 2.创建自己的npm包…
Github 持续化集成 工作流 Npm包自动化发布 简介   持续集成指的是,频繁地(一天多次)将代码集成到主干. 它的好处主要有两个: 快速发现错误.每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易. 防止分支大幅偏离主干.如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成.   持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量.它的核心措施是,代码集成到主干之前,必须通过自动化测试.只要有一个测试用例失败,就不能集成.   GitHub…
一.初始化一个npm包 1.新建一个文件夹(名称随意,建议和报名一致),输入命令 :npm init -y 会自动生成一个包的说明文件 package.json如下(本文以scroll-antd-table为例): { "name": "scroll-antd-table",//包的名称用于别人 npm install xxxx的时候使用 "version": "1.0.0",//包的版本号 "description…
组内负责的几个项目都有一些一样的公共组件,所以就着手搭建了个公共组件开发脚手架,第一次开发 library,所以是参考着 iview 的配置来搭建的.记录如何使用webpack4搭建一个library的脚手架 前言 使用 webpack4,需要安装 webpack 和 webpack-cli yarn add webpack webpack-cli -D 然后就是书写配置文件. 项目脚手架结构 我写的 library 的目录结构如下,仅供参考,主要是模仿 iview 的结构,其中部分配置参考了…
一.前言 总结下最近工作上在移动端实现的一个跑马灯效果,最终效果如下: 印象中好像HTML标签的'marquee'的直接可以实现这个效果,不过 HTML标准中已经废弃了'marquee'标签 既然HTML标准已经废弃了这个标签,现在工作上用的是Vue,所以想着能不能自己也发布一个基于Vue的文字跑马灯组件包,这样别人可以通过npm install ...就可以用,想想还有点激动,于是开始我的第一个npm组件之旅! 二.用npm发布一个包 有点惭愧,之前通过npm install ...安装pac…
以markdown-clear,创建过程为例,讲解整个NPM包创建和发布流程 1 如何创建一个包 1.1 创建并使用一个工程 在GitHub上新建一个仓库,其名markdown-clear clone 这个工程到本地 1.2 添加LICENCE或LICENSE文件, 说明对应的开源协议 到SPDX License List 或者Open Source Initiative,下载相应协议的模板,我们这里选用MIT 修改必要的协议时间和作者 MIT License Copyright (c) <ye…