ykit入门
init lint pack server watch
1.创建现有工程的ykit项目
在项目文件夹下 ykit init
2.lint 检查当前项目的代码质量 手动执行代码 可验证代码正误
ykit lint -d ./src -d ./src的意思是把校验的范围锁定在改文件下 大大提高效率 执行后会多出.eslintrc.json
文件 里面配置了校验规则 可手动修改
3.全局变量 $
在使用jquery时 lint检索时 $会违反no-undef规则 这时只要在使用$的代码上方做特殊例外处理 /*global $*/ 若全篇使用 就在代码最上方添加就好
4.禁用规则
禁用分三种等级
行级 //
块级 /**/ 块级写两个注释 把块包起来
文件级/**/ 在注释中写禁用的规则就可以
5.ykit配置
在ykit.js下的exports 是打包的入口 可以将其他 js文件路径添加到该处 此时打包后的dev也会有你加入的js文件
6.ykit pack打包本地多个js文件到dev上
7.抽取公共模块
当你打包的两个dev文件出现重复依赖时 可以在ykit.js中加入以下代码 commonsChunk:{
name:'common',
minChunks:2,}
此时再打包,dev中就会出现common.js 内容为上述两者重复部分 此时上述两者已无重复部分
8.-m参数
ykit pack -m 这时打包的代码进行了精简处理 如变量名 注释等 体积大幅减小
9.sudo ykit s 开启项目服务器
10.当产生新的js文件时记得在html上引入 如上文提到的common.js
11.ykit注释笔者注:
ykit server 模式下,dev的文件为啥还是旧的 虽然刷新浏览器的时候,最新的代码已经刷新上去了,但是这个最新的代码其实并没有输出到磁盘中。这是为了效率,输出的产物此时并没有写入到磁盘,而是放在内存当中。所以网页刷新了,代码生效了,但是dev目录并没有什么变化。
html中的url是什么样的规则,为什么和文件路径对不上 html的路径有个固定的
prd
,去掉prd
,你会发现剩下的部分和ykit.js
中config.exports
中配置的路径是对的上的。这个prd
打头的路径其实发布到线上以后的路径。 在开发环境保留了线上环境的路径,是为了避免上线前忘记修改而引起故障。在技术实现上,是在ykit server里面对访问的url进行了重新的调整,使之对应到真实的文件路径,并返回他在内存里处理好的代码。 所以prd
的写法是固定的。父目录启动服务 现在我们是在项目的根目录下启动的server,我们
cd ..
来到项目所在的父目录。 执行 sudo ykit s
12. 切换端口 -p 一般地,启动一个ykit server就足够了。如果有场景需要启动多个ykit server 服务,那么就需要为另一个指定端口了。根据端口的使用约定大于1000的端口占用不需要加上sudo
,否 则需要管理员权限。
ykit s -p 8080
13.热加载 --hot 每次更新完代码,都需要手动刷新下浏览器,是在是不太方便。我们可以开启热加载功能,当代码修改的时候,自动的对代码进行热替换,提高开发效率。
sudo ykit s --hot
14.-s 开启https服务
sudo ykit --hot -s
通常我们开发使用http服务就够了,不过现在全网都切换https,升级http2的背景下。也有需要开启https服务的场景。通过这条命令将启动http和https两个服务。
15.watch
这个功能平时用到的也不多,功能是监听本地文件的变化,然后实时的构建。 我们进入到项目helloworld
的根目录下,
ykit watch
16.ykit官方文档
初始化ykit之后会自动生成ykit.js 其中具体的意思为
- plugins - 当前引入的插件。因为我们初始化的是 qunar 项目,所以会自动引入相应插件。根据需求还可以安装和引入更多插件。
- config.exports - 资源的入口路径。
- config.modifyWebpackConfig - 通过该函数可以对当前 Webpack 配置(
baseConfig
)进行修改。 - hooks - 打包过程钩子。
- commands - 自定义命令。
ykit入门的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
随机推荐
- VBoxManage
虚拟机名称 centos6.9-1 centos6.9-2 centos6.9-3 使用命令开机 虚拟机 VBoxManage startvm 'centos6.9-1' 正常启动 VBoxManag ...
- Vue-admin工作整理(十九):从数字渐变组件谈第三方JS库Count-to的使用
1.组件封装基础 npm install countup@latest 2.组件中使用id值 3.组件中获得dom 如何封装一个组件,在组件中用到需要传入HTML元素ID值的JS库时如何处理,如何获取 ...
- Python学习周末练习1-用户登录
用户登录验证要求:1.用户登录输入账号.密码.4位随机大写字母验证码2.验证码错误重新输入3.有三次机会输入账号密码 count = 1 while count <= 3 : from rand ...
- js统一设置富文本中的图片宽度
var txt = layedit.getContent(ieditor);//获取编辑器内的文本var regex = new RegExp('<img', 'gi');txt = txt.r ...
- Mock.js常用占位符——Basic、Date、Color
1. Basic 在通过占位符引用方法时, Mock.mock('@boolean') : Mock.mock('@boolean()') 都可以调用方法 方法 含义 使用举例 Random.bo ...
- count性能
表有主键列,count(1)的效率会稍微高于count(*),count(主键列)效率会高于count(1).表没有主键列,count(1)效率会高于count(*) count(1).count(* ...
- Maven 插件打包部署项目
clean install -Dmaven.test.skip=true:打包工具 clean package
- xtratabcontrol控件的标签样式--文本的宽高
Skin skin_ = TabSkins.GetSkin(DevExpress.LookAndFeel.UserLookAndFeel.Default.ActiveLookAndFeel); Ski ...
- Octoroit OS VB操作系统简单介绍
官方地址:http://octoroit.weebly.com/ 首先需要指明的是 :Octoroit OS 并不是一个真正意义上的操作系统,它是运行在windows 之上的 窗口系统,一个Visua ...
- 乐观锁vs悲观锁, 集群vs分布式 , 微服务, 幂等性
乐观锁: 总认为不会产生并发问题,因此不会上锁,更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作来实现 version: 数据上有数据版本号version字段,每次更 ...