uploadify插件的使用总结
引包
123<link rel="stylesheet" href="uploadify/uploadify.css"><script src="jquery.js"></script><script src="uploadify/jquery.uploadify.js"></script>调用uploadify提供的方法
1<input type="file" id="file">
|
|
引包
|
|
调用uploadify提供的方法
|
|
|
|
cookie属于浏览器中的一个存储空间,里面可以存储数据。
可以存,也可以取
cookie是以域名为单位存储的,每个域名的cookie之间是相互隔离的,也就是说不可以互相操作
比如: 在it.cn 这个域名的cookie中存了一条数据
在 studyit.com 中能够使用上面存储的内容吗?? 不可以!
cookie 是有容量限制的, 每个域名可以存储的cookie不能超过4KB
存储单位:
cookie 有时限的,有声明周期的,也就是说cookie是会过期的
默认情况下cookie的生命会在浏览器关闭的时候结束!
也可以手动的设置cookie的过期时间!
cookie也是分路径的
在www.studyit.com/dashboard/index 往cookie中存储了一个数据
在www.studyit.com/ 是不可以访问上面存储的内容的
子级路径中可以访问父级路径中存储的cookie,但是父级路径不能访问子级路径中存储的cookie
一般情况下,都会直接将cookie存储到根目录下面去,这样全站所有的路径中都可以访问了。
cookie存储的路径是可以设置的!
一个域名下的cookie是在该域名下面所有的页面中都可以使用的!
www.studyit.com
www.studyit.com/dashboard/index
www.studyit.com/teacer/add
当前域名中所有的cookie会伴随着每一次请求发送给服务器!!!
注意:Gulp是站在任务的角度去思考问题的;
WebPack适合站在项目的角度,去统筹整个项目的构建;
了解:Webpack只是一个工具;是基于Node.js构建出来的;所以,webpack是托管到了NPM;
npm i -g webpack
npm i webpack -D
使用webpack 需要打包的文件路径 输入的文件路径
方式,进行最基本的打包;
注意:这种方式,调用的是全局安装的 webpack
|
|
需求:由于在实际开发中,会经常修改代码,需要时时查看最新的代码效果,所以,我们最好能够实现只要代码以修改,自动进行打包
!为了实现这个需求,我们需要借助一个叫做webpack-dev-server
的插件;
注意:由于 webpack-dev-server
内部封装了 webpack
, 所以,它的使用方式,和webpack几乎一样!
npm i webpack-dev-server -D
安装插件注意:webpack-dev-server 帮我们生成出来的 bundle.js 并没有存放到实际的磁盘目录中;而是帮我们托管到了内存中;
为什么不放到磁盘中,而是托管到了内存呢? 快!!!
html-webpack-plugin
插件配置启动页面注意:热更新在JS中表现的不明显,可以从一会儿要讲到的CSS身上进行介绍说明!
直接在package.json
的scripts
节点下设置:
在 webpack.config.js
中添加一个新节点:
还需要添加一个新的插件,启用热更新:
npm i style-loader css-loader -D
webpack.config.js
的module
节点下的rules
节点中,添加一个新的loader配置项:
|
|
cnpm i sass-loader node-sass -D
|
|
npm i url-loader file-loader -D
|
|
webpack
默认会转换一部分的高级的ES6语法,但是并不能转换全部的;npm i babel-core babel-loader babel-plugin-transform-runtime -D
npm i babel-preset-es2015 babel-preset-stage-0 -D
配置loader,在rules中添加一个新的loader配置项:
|
|
在项目根目录中创建一个.babelrc
的一个Babel配置文件:
|
|
为了满足我们的发布策略,需要新建一个配置文件,命名为webpack.publish.config.js
,将webpack.config.js
的配置拷贝过去,剔除一些开发配置项即可:
将devServer
节点删掉:
|
|
将plugins
节点下的热更新插件删掉:
|
|
修改url-loader
,将图片放入统一的images文件夹之下:
|
|
或者使用img-
前缀加上7位的hash名称
:
package.json
中的script节点下新增dev
命令,通过--config
指定webpack启动时要读取的配置文件:
|
|
cnpm i clean-webpack-plugin --save-dev
在头部引入这个插件:
|
|
在plugins
节点下使用这个插件:
|
|
webpack.publish.config.js
改造entry节点如下:
|
|
在plugins节点下新增插件:
|
|
html-webpack-plugin
在生成index.html
文件的时候,会自动将抽离的第三方包引入进去!
在plugins数组中添加:
在plugins
节点下的htmlWebpackPlugin
插件中,添加minify
子节点:
其他优化项请参考:html-minifier - github
npm install --save-dev extract-text-webpack-plugin
安装抽取CSS文件的插件。在配置文件中导入插件:
|
|
修改CSS和Sass的loader如下:
|
|
在plugins节点下新增插件:
|
|
cnpm i optimize-css-assets-webpack-plugin --save-dev
安装插件到开发依赖。在配置文件头部导入插件:
|
|
在plugins节点下新增插件:
|
|
js代码的模块化标准,不适用于前端开发,NodeJS在使用该标准实现模块化
Async Module Definition 异步模块定义
尽可能早的加载所有需要用到的模块,模块的加载都是异步的,如果要在模块加载完成后,利用模块中的内容实现某些功能,需要将代码写在 require的第二个参数的回调函数中
require.js
Common Module Definition 通用模块定义
尽可能晚的加载模块,哪里用到了模块再去加载
sea.js
## require.js实现模块化
|
|
|
|
在引用require.js的script标签中可以通过data-main指定一个入口文件,这个入口文件中的内容,会在reuqirejs加载完毕之后,被自动执行。
data-main指定的这个文件是异步加载的!所以在下面如果有使用这个文件中相关内容的代码,就不能够保证执行正常
如果直接使用script在html当中引入模块,那么模块的路径查找会以当前html文件作为基础。 (没有配置baseUrl,也没有data-main属性)
如果使用data-main属性,那么这时候的模块路径查找,会以入口文件所在的路径作为基础去查找(没有设置baseUrl)
如果通过require.config()配置了baseUrl,那么所有的模块的路径查找,都会以这个baseUrl做为基础!
这个方法主要用来配置requirejs相关的内容
|
|
直接使用require,就像使用正常模块一样即可!
需要考虑该内容是否有返回值(是否要提供内容给外部使用)
如果有依赖项,需要通过require.config方法配置该模块的依赖项
|
|
如果第三方内容没有实现模块化,并且没有依赖项,也没有输出项,直接require即可!!!
具名模块有名字
匿名模块没名字
新创建一个项目文件夹之后,文件夹只是一个普通的文件夹,对于文件夹内任何内容的修改不会受到版本控制系统的管理。
我们需要为当前的项目文件夹初始化一个版本库,来管理当前项目。
|
|
git init一个项目执行一次
查看当前git仓库的状态信息
告诉git要追踪管理哪些文件
告诉git 帮我生成一个新的版本
可以查看所有的已经提交的版本信息
版本的版本号
修改的作者
修改的时间
版本的说明
设置用户名和邮箱的命令
只需要执行一次(一个电脑执行一次)
将暂存区的内容恢复到工作目录
将版本库中指定的版本恢复到工作目录!
tag:
缺失模块。
1、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
2、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: true raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true