实战一 准备本篇的环境 虽然可以仅展示核心代码,但笔者认为在一个完整的环境中边看边做,举一反三,效果更佳. 这里的环境其实就是初步认识 webpack一文完整的示例,包含 webpack.devServer.处理css.生成 html. 项目结构如下: webpack-example2 - src // 项目源码 - a.css - b.js - c.js - index.html // 页面模板 - index.js // 入口 - package.json // 存放了项目依赖的包 - we…
其他章节请看: webpack 快速入门 系列 自定义 wepack 上 通过"初步认识webpack"和"实战一"这 2 篇文章,我们已经学习了 webpack 最基础的知识.在继续学习 webpack 更多用法之前,我们先从更底层的角度来认识 webpack. 自定义 webpack 分上下两篇,上篇介绍 webpack 的两个核心,loader和plugin:下篇我们自己实现一个简单的 webpack. 初始化项目 loader 和 plugin 将使用此环境…
其他章节请看: webpack 快速入门 系列 性能 本篇主要介绍 webpack 中的一些常用性能,包括热模块替换.source map.oneOf.缓存.tree shaking.代码分割.懒加载.渐进式网络应用程序.多进程打包.外部扩展(externals)和动态链接(dll). 准备本篇的环境 虽然可以仅展示核心代码,但笔者认为在一个完整的环境中边看边做,举一反三,效果更佳. 这里的环境其实就是实战一一文完整的示例,包含打包样式.打包图片.以及打包javascript 项目结果如下: w…
初步认识 webpack webpack 是一种构建工具 webpack 是构建工具中的一种. 所谓构建,就是将资源转成浏览器可以识别的.比如我们用 less.es6 写代码,浏览器不能识别 less,也不支持 es6 的某些语法,这时我们可以通过构建工具将源码转成浏览器可以识别的 css 和 js. webpack 是一种模块化解决方案 以前,前端只需要写几个html.css.js就能完成工作,现在前端做的项目更加复杂,在性能.体验.开发效率等其他方面,都对我们前端提出了更高的要求. 为了能按…
其他章节请看: vue 快速入门 系列 vue loader 上 通过前面"webpack 系列"的学习,我们知道如何用 webpack 实现一个不成熟的脚手架,比如提供开发环境和生成环境,开发环境提供本地服务器,有热模块替换,能使用 sass.es6等开发项目. 实际工作中我们可能会使用声明式框架 vue 或 react 来开发项目,而它们都提供了相应的脚手架.在学习 vue-cli(vue官方的脚手架)之前,我们先来玩一下 vue loader. Tip:本篇也可以称之为"…
其他章节请看: vue 快速入门 系列 vue loader 下 CSS Modules CSS Modules 是一个流行的,用于模块化和组合 CSS 的系统.vue-loader 提供了与 CSS Modules 的一流集成,可以作为模拟 scoped CSS 的替代方案. Tip:请看下面的用法来了解 css modules. 用法 将 App.vue 内容修改为: <template> <div> <p :class="$style.red">…
其他章节请看: vue 快速入门 系列 Vue CLI 4.x 下 在 vue loader 一文中我们已经学会从零搭建一个简单的,用于单文件组件开发的脚手架:本篇,我们将全面学习 vue-cli 这个官方的.成熟的脚手架. 分上下两篇进行,上篇主要是"基础",下篇主要是"开发" Tip:介绍顺序尽可能保持与官方文档一致 准备环境 注:本篇所有的实验都将基于项目 vue-example vue-example 通过 vue create 命令创建项目 vue-exa…
接下来进入的是俺在ASP.NET学习中最重要的WebAPI部分,在现在流行的互联网场景下,WebAPI可以和HTML5.单页应用程序SPA等技术和理念很好的结合在一起.所谓ASP.NET WebAPI,其核心概念就是构建REST风格的Web服务,把一起数据视为资源,无论是服务请求或者是数据操作,与以前的SOAP和XML-RPC架构风格有很大不同.说道这,很多读者可能想到WCF中不是早都有了REST风格的服务么,为什么还需要这个WebAPI?确实如此,不过WCF中的该类型服务显得比较复杂,因为其通…
其他章节请看: 前端学习 node 快速入门 系列 初步认识 node node 是什么 node(或者称node.js)是 javaScript(以下简称js) 运行时的一个环境.不是一门语言. 以前 js 只能运行在浏览器中,浏览器中的 js 包含:bom(例如 window).dom(例如 document).ecmascript.js 引擎:现在 js 也可以运行在 node 中,node 中的 js 包含:ecmascript(服务端不操作页面,所以不需要 bom 和 dom)和 js…
其他章节请看: 前端学习 node 快速入门 系列 npm npm 是什么 npm 是 node 的包管理器,绝大多数 javascript 相关的包都放在 npm 上. 所谓包,就是别人提供出来供他人使用的项目.可以是简单的几行代码,可以是 jQuery 这种类库,也可以是框架 express ,还可以是 webpack 这样的工具. npm 用于解决前端共享问题. 以前我们需要使用 jQuery.bootstrap 等其他库,需要这么做: 进入 jQuery 和 bootstrap 等其他库…
其他章节请看: vue 快速入门 系列 初步认识 vue vue 是什么 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架. 所谓渐进式,就是你可以一步一步.有阶段的使用 vue,不必一开始就使用所有的东西. 命令式框架 vs 声明式框架 jQuery 是命令式操作 DOM 的前端框架.比如点击一个新增按钮,需要出现一个录入信息的弹框,在 jQuery 中,我们需要在新增按钮被点击的时候,发出一个命令,让录入信息的弹框显示.随着交互越来越复杂,代码中会有相当一…
其他章节请看: vue 快速入门 系列 vue loader 扩展 在vue loader一文中,我们学会了从零搭建一个简单的,用于单文件组件开发的脚手架.本篇将在此基础上继续引入一些常用的库:vue-router.vuex.axios.mockjs.i18n.jquery.lodash. 环境准备 Tip: 此环境本质就是"vue loader"一文最终生成的代码,略微精简一下:删除不必要的文件.wepback.config.js 注释掉 eslint 以及自定义 loader. 项…
其他章节请看: vue 快速入门 系列 Vue CLI 4.x 上 在 vue loader 一文中我们已经学会从零搭建一个简单的,用于单文件组件开发的脚手架:本篇,我们将全面学习 vue-cli 这个官方的.成熟的脚手架. 分上下两篇进行,上篇主要是"基础",下篇主要是"开发" Tip:介绍顺序尽可能保持与官方文档一致 介绍 vue-cli 是一个基于 vue.js 进行快速开发的完整系统. 让我们专注在撰写应用上,而不必花好几天去纠结配置的问题. Vue CLI…
其他章节请看: vue 快速入门 系列 使用 vue-cli 3 搭建一个项目(上) 前面我们已经学习了一个成熟的脚手架(vue-cli),笔者希望通过这个脚手架快速搭建系统(或项目).而展开搭建最好的方法是向优秀的项目学习,依葫芦画瓢. 这里通过研究 vue-admin-template 项目,逐一引入 element-ui.axios.mock.iconfont.nprogress.权限控制.布局.多环境(.env).跨域.vue.config.js,一步一步打造我们自己的架构. Tip:…
其他章节请看: vue 快速入门 系列 使用 vue-cli 3 搭建一个项目(下) 上篇 我们已经成功引入 element-ui.axios.mock.iconfont.nprogress,本篇继续介绍 权限控制.布局.多环境(.env).跨域.vue.config.js,一步一步构建我们自己的架构. 权限控制 后端系统一开始就得考虑权限和安全的问题. 大概思路: 前端持有一份路由表,表示每个路由可以访问的权限(路由表也可以由后端生成,但感觉前端被后端支配,前端的权限也总是不安全的,所以后端权…
其他章节请看: vue 快速入门 系列 Vue(自身) 项目结构 前面我们已经陆续研究了 vue 的核心原理:数据侦测.模板和虚拟 DOM,都是偏底层的.本篇将和大家一起来看一下 vue 自身这个项目,了解它的目录结构,以及构建过程. vue 的目录结构 将 vue 项目 下载到本地 git clone git@github.com:vuejs/vue.git vuev2.5.20 - vuev2.5.20 - dist // 构建后的文件 - examples // 有几个用 vue 写的示例…
ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因此两者相关类的命名空间有细微差异,在使用时需要注意. WebAPI学习系列目录如下,欢迎您的阅读! 快速入门系列--WebAPI--01基础 快速入门系列--WebAPI--02进阶 快速入门系列--WebAPI--03框架你值得拥有 快速入门系列--WebAPI--04在老版本MVC4下的调整 W…
WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了.在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.Net.Http程序集非常的丰富,而老版本的则相对较弱.在WebAPI v1.0(和ASP.NET MVC4在一起的版本)很多的类和接口并不存在,同时对Task异步编程(ApiController默认提供异步执行方法)的支持还有一些欠缺(缺少不少方便的扩展方法),在使用时会有一些需要注意的地方,由于一…
虽然使用MVC已经不少年,相关技术的学习进行了多次,但是很多技术思路的理解其实都不够深入.其实就在MVC框架中有很多设计模式和设计思路的体现,例如DependencyResolver类就包含我们常见的DI依赖注入概念和注册表模式(GetService)等内容,ExceptionFilter等过滤器就体现AOP的概念,整个MVC内置了一个IOC容器,基本上所有的框架类的对象都是通过这种方式来创建的.此外,一直觉得很j2ee的spring很棒,其实如果大家很熟悉EHAB(微软企业开发库)的话,就会发…
现在补上URL路由的学习,至于蒋老师自建的MVC小引擎和相关案例就放在论文提交后再实践咯.通过ASP.NET的路由系统,可以完成请求URL与物理文件的分离,其优点是:灵活性.可读性.SEO优化.接下来通过一个最简单的路由例子进入这部分的学习,这是一个蒋老师提供的WebForm路由的例子,回想起刚做ASP.NET时,每次看到.aspx页面的前台代码时的茫然和无措,茫茫多的标签,属性,数据源的绑定吓死小兄弟俺了,也花过不少时间去理解记忆,效果不也不大.现在回头看看感觉好了很多,看到IsPostbac…
现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了系统的可维护性和可扩展性.于此同时,HTML5提供了很多的新特性,比如新的架构元素.代替cookie的Web存储技术.WebSocket等,也使得网站应用能够更好适应新的商业环境和技术更新. 本系统的网站模块使用.NET技术堆栈中的ASP.NET MVC框架,此框架是微软公司推出的开源框架,相关源代…
一.引言 WPF绑定使得原本需要多行代码实现的功能,现在只需要简单的XAML代码就可以完成之前多行后台代码实现的功能.WPF绑定可以理解为一种关系,该关系告诉WPF从一个源对象提取一些信息,并将这些信息来设置目标对象的属性.目标属性总是依赖属性.然而,源对象可以是任何内容,可以是一个WPF元素.或ADO.NET数据对象或自定义的数据对象等.下面详细介绍了WPF绑定中的相关知识点. 二.绑定元素对象 2.1 如何实现绑定元素对象 这里首先介绍绑定最简单的情况——绑定元素对象,即数据源是一个WPF元…
一.引言 关于WPF早在一年前就已经看过<深入浅出WPF>这本书,当时看完之后由于没有做笔记,以至于我现在又重新捡起来并记录下学习的过程,本系列将是一个WPF快速入门系列,主要介绍WPF中主要的几个不同的特性,如依赖属性.命令.路由事件等. 在正式介绍之前,我还想分享下为什么我又要重新捡起来WPF呢?之前没有记录下来的原来主要是打算走互联网方向的,后面发现互联网方向经常加班,又累,有时候忙的连自己写了什么都不知道的,所以后面机缘巧合地进了一家外企,在外企不像互联网行业那样,比较清楚,有更多的时…
Qt快速入门系列教程目录…
随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件,所以我们只需要配置就行了 1.在webpack.config.js中配置: watchOptions:{ poll:1000,//监测修改的时间(ms) aggregeateTimeout:500, //防止重复按键,500毫米内算按键一次 ignored:/node_modules/,//不监测…
为了浏览器的兼容性,有时候我们必须加入-webkit,-ms,-o,-moz这些前缀.目的就是让我们写的页面在每个浏览器中都可以顺利运行. 1.安装 cnpm i postcss-loader autoprefixer --save-dev 2.在根目录新建一个postcss.config.js文件 module.exports = { plugins: [ require('autoprefixer') ] } 这就是对postCSS一个简单的配置,引入了autoprefixer插件.让pos…
1.window+R键,输入cmd打开命令行工具,输入 mkdir XXXX(XX:文件夹名): 2.cd XXX 进入刚刚创建好的文件夹里,输入cnpm install -g webpack (安装了淘宝镜像的小伙伴可以直接使用cnpm,没有安装的使用npm)cnpm和npm的区别这里就不多说了,不懂的小伙伴可以百度 附图一张: 3.安装好之后初始化一下,(初始化的主要目的是生成package.json文件)在命令行工具中输入: cnpm init,输入完成后,会有一系列的内容,会问到你关于项…
1.进入根目录,建两个文件夹,分别为src和dist 1).src文件夹:用来存放我们编写的javascript代码,可以简单的理解为用JavaScript编写的模块. 2).dist文件夹:用来存放供浏览器读取的文件,这个是webpack打包成的文件. 2.在dist下建立一个index.html文件,写入以下代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-…
1.在根目录新建一个webpack.config.js文件,然后开始配置: const path = require('path'); module.exports={ //入口文件的配置项 entry:{ entry:'./src/entry.js' }, //出口文件的配置项 output:{ //输出的路径,用了Node语法 path:path.resolve(__dirname,'dist'), //输出的文件名称 filename:'bundle.js' }, //模块:例如解读CSS…
1.在终端安装 cnpm i webpack-dev-server --save-dev 2.配置好后执行 webpack-dev-server,这时候会报错 出现错误,只需要在pagejson里配置下scripts就可以了 3.下载好后,需要配置下devServer const path = require('path'); //引入path module.exports={ //暴露出来 entry:{ entry:'./src/entry.js', entry2:'./src/entry2…