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 - 自定义命令。
-