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.jsconfig.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入门的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  3. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  4. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  5. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  6. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  7. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  8. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  9. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

随机推荐

  1. 排查OPENSTACK浮动IP被占用记录

    在openstack上新建机器时,发现用户无法登陆. 检查该机器的22端口,返回 Connection refused.   ping该IP,发现可以ping通.   释放该浮动ip,然后去ping该 ...

  2. krpano生成全景图

    1.下载krpano工具 第一次我下载的有水印,但是第二次下载的便没了,原因我也不清楚.下载好后不要急着打开.exe程序 2.生成全景图 将全景图拖入MAKE VTUOR (NORMAL) DROPL ...

  3. C# 如何获取可执行文件路径的上上级目录

    1. DirectoryInfo di = new DirectoryInfo(string.Format(@"{0}..\..\", Application.StartupPat ...

  4. IT - 偶像的力量

    [丹尼斯·里奇]C语言,unix之父 [本贾尼·斯特劳斯特卢普]C++之父 [詹姆斯·高斯林 (James Gosling)]Java之父 [林纳斯·托瓦兹(Linus Torvalds)]Linux ...

  5. spring环境搭建

    1.导入jar包: 2.配置文件 — applicationContext.xml:  添加schema约束,位置:spring-framework-3.2.0.RELEASE—>docs—&g ...

  6. 最新亚马逊 Coupons 功能设置教程完整攻略!

    最新亚马逊 Coupons 功能设置教程完整攻略! http://m.cifnews.com/app/postsinfo/18479 亚马逊总是有新的创意,新的功能.最近讨论很火的,就是这个 Coup ...

  7. python之asyncio三种应用方法

    1.直接使用asyncio.run方法2.同步的效果,用await调用函数3.创建任务(asyncio.create_task),并发运行任务(await asyncio.gather) import ...

  8. python 两个 list 获取交集,并集,差集的函数

    1. 获取两个 list 的交集 a = [1, 2, 3, 4] b = [1, 2, 5] print(list(set(a).intersection(set(b)))) 2. 获取两个 lis ...

  9. 【Redfin SDE intern】跪经

    萌新的面试第一弹 Redfin是我求职生涯中的第一家,第一个电面,第一个onsite.除了结果不好,其他过程都很好... 春节当天风风火火去西雅图面试,之前分配的五个面试官其中有两个中国人,然而全部被 ...

  10. 学号 2018-2019-20175212 童皓桢《Java程序设计》第5周学习总结

    学号 2018-2019-20175212 <Java程序设计>第5周学习总结 教材学习内容总结 接口 声明接口: interface 名字: 接口体:接口体中只有常量无变量,只有抽象方法 ...