发表于: 2018-04-23 23:39:58

1 278


今天完成的事情:

1、学习gulp和js的标记符。


明天计划的事情:

1、继续学习gulp和js.

2、搞任务总结。


遇到的问题:

在安装gulp的时候出现一个报错,搜索了资料。

这里package.json的name是gulp,

因为在package.json文件的name名字不能跟npm模块相同。

只要name相同,那么安装相关的依赖包就会失败。

改变package.json文件的name就能把这个问题解决了。


收获:

1、如何使用gulp自动添加文件的前缀。

 gulp 来合并、压缩CSS以及进行 MD5命名以及替换文件中引入的CSS文件,当然这一系列操作都是用基于gulp插件的,主要会用到下面的几个插件:

上面是gulp所有的依赖插件。

从上到下分别是,gulp ,压缩css文件,合并文件,js检查文件,插件加载,路径添加,错误显示。

通过以上的配置之后,就可以开始运行 gulp 对我们的项目进行相关的操作啦;

使用 gulp 命令,运行Gulp.js 构建程序

首先运行 concat 这个 task 生成一个 rev-manifest.json 文件
然后再运行 rev 这个 task 替换掉文件中引入的 css

运行gulp的default文件看看gulp运行的流程。

这里是rev-manifest生成的json文件。

看看application文件下的替换文件:

这里不光发生了替换文件,还添加了MD5命名.


2、说一下关于===的符一些事

从右至左永远只取等号右边的表达式结果赋值到等号左侧

看看这时候的代码:
来探讨下关于A =B =C;多重赋值的顺序,
第一步肯定是B=C,
第二部A=B;
可是为什么a.nextName=a={name:'yazhou'};执行双重赋值后,
a.nextName打印出undefined,
而b多了一个nextName属性。
说一下为什么会出现这种情形:
在进行多重赋值之前,会保存a原先的地址,进行多重赋值不会立马更新a的地址。
1、a={name:'yazhou'}
这一步指针a指向{name:'jack'}现在执行第一步赋值后指针a指向{name:'yazhou'};

这时候指针a指向了name:'yazhou',
2、这时候执行第二步操作a.nextName=a,其实a.nextName={name:'yazhou'};
这里有背景色的a地址其实不是最新的地址而是 开始保存好的地址a;即指向第一个对象name:'jack'

所以log(a.nextName)会出现undefined,并不是没有赋值成功,而是赋值在原来的对象上了。如果这个对象有一个别的指针,这里就像上面一样。
a对象{name:‘yazhou'}
b对象{name:'jack',nextName:{name:yazhou'}}





返回列表 返回列表
评论

    分享到