Handlebars

自定义自己的vue-cli模板

余生颓废 提交于 2021-02-12 09:58:01
自定义自己的vue-cli模板 在使用vue-cli的过程中,常用的webpack模板只为我们提供最基础的内容,但每次需要新建一个项目的时候就需要把之前项目的一些配置都搬过来,这样就造成挺大的不方便,如果是作为一个团队,那么维护一个通用的模板,我认为是挺有必要的。 例如下面是我常用构建项目的目录。 src ├─api //接口 ├─assets //图片 ├─components //公用组件 ├─css //样式 主要是scss ├─js //第三方以及工具类 ├─page //页面 ├─router //路由 └─store //vuex 下面说下怎么自定义自己的vue-cli模板 fork一个自己的模板 从 https://github.com/vuejs-templates/webpack fork 一个库,再提交自己的修改到【自己的分支】,因为我们大部分内容还是在这个基础上做修改的。 关于vue-cli的源码分析可以参考下这个文章 从vue-cli源码学习如何写模板 vuejs-templates/webpack 目录如下, │ .gitignore │ circle.yml │ deploy-docs.sh │ LICENSE │ meta.js //该文件必须导出为一个对象, 用于定义模板的 meta 信息 │ package.json │ README.md │

express + handlebars 学习遇到的小坑

丶灬走出姿态 提交于 2020-12-02 05:37:09
最近想系统学习一下express,所以找来大师的《Node与Express》膜拜,问题不少,记录下来,供大家参考交流: 1 模板渲染上下文的赋值 res.locals 是这么个情况: 模板文件views/partials/weather.hbs <div class="weatherWidget"> {{#each partials.weather.locations}} <div class="location"> <h3>{{name}}</h3> <a href="{{forecastUrl}}"> <img src="{{iconUrl}}" alt="{{weather}}"> {{weather}}, {{temp}} </a> </div> {{/each}} <small>Source: <a href="http://www.wunderground.com">Weather Underground</a></small> </div> 应用文件meadowlark.js /* 给res.locals.partials对象添加数据的中间件 */ app.use(function(req, res, next){ if(!res.locals.partials) res.locals.partials = {}; res.locals.partials

Handlebars玩起来

余生长醉 提交于 2020-11-11 00:41:57
为什么需要模板引擎 关于前端的模板引擎,我用一个公式来解释 模板引擎 模板 + 数据 ========> html页面 模板引擎就像是html的解析生成器,将对应的模板填充完数据之后生成静态的html页面。它可以在浏览器端(比如angular中指令所用的模板)也可以在服务器端执行,不过一般用于服务器端。因为它的一个作用是抽象公共页面来重用,如果在服务端填充数据,可以减少回填数据给页面的ajax请求,从而提升浏览器端整体页面渲染速度。 初级玩家:表达式 数据: { title: 'Express', obj:{ version: 'v4.3', category: 'node', "date~": '2016' } } 模板: <p>{{title}}</p> <p>{{obj.version}}</p> <p>{{obj/category}}</p> <p>{{obj.date~}}</p> handlebars中变量都添加双花括号来表示(类似Angular),对比ejs的”<%%>”来说看起来没什么区别,其实这是很人性化的,想一下你键盘上的位置,再考虑按这几个字符的难易程度你就懂了。其中要访问变量的属性值时可以用类似json格式的”.”,也可以用”/“。 其中变量名不可包含以下字符。如果包含则不被解析,如上的”“。 空格 ! " # % & ' ( ) * + , . / ; <

Oracle 中总计和小计使用的函数

五迷三道 提交于 2020-08-13 08:14:54
@[TOC](总计和小计、逐行累计求和) ### 一、总计和小计使用函数 #### 1、rollup group by 我们都知道,是一个分组函数,用于针对某一列做分组操作。 但是当它搭配其他的函数一起使用的时候,就像一对男女孩,撞出不一样的火花。 ==rollup(字段1,字段2,.....) rollup和group by一起使用,可以针对每一个分组返回一个小计行,以及为所有的分组返回一个总计行(一个字段就是返回总计行,多个字段就是返回每一个分组的一个小计行和一个总计行)== 实践是检验真理的唯一标准,那我们来实践一下,我们先来快速创建一个表。有多快,很快很快的那种。 ```handlebars CREATE TABLE EMP ( "EMPNO" NUMBER(4) NOT NULL , "ENAME" VARCHAR2(10 BYTE) , "JOB" VARCHAR2(9 BYTE) , "SAL" NUMBER(7,2) , "DEPTNO" NUMBER(2) ) INSERT INTO "SCOTT"."EMP" VALUES ('1', '张三', '开发', '10000', '10'); INSERT INTO "SCOTT"."EMP" VALUES ('2', '李四', '运维', '6000', '20'); INSERT INTO "SCOTT".

vue.js选择if(条件渲染)详解

牧云@^-^@ 提交于 2020-05-09 12:13:11
vue.js选择if(条件渲染)详解 一、总结 一句话总结: v-if 1 <! DOCTYPE html > 2 < html lang ="en" > 3 < head > 4 < meta charset ="UTF-8" > 5 < title > v-if </ title > 6 < link rel ="stylesheet" type ="text/css" href ="css/style.css" > 7 < script type ="text/javascript" src ="js/vue.js" ></ script > 8 < script type ="text/javascript" > 9 window.onload = function () { 10 var dataList = { 11 innerText: ' 大家好,欢迎来到麦子学院! ' , 12 display: true 13 }; 14 new Vue({ 15 el: ' section ' , 16 data: dataList 17 }); 18 19 setTimeout( function () { 20 dataList.display = false ; 21 }, 5000 ); 22 }; 23 </ script > 24 </ head > 25 <

amazeui中css组件、js组件、web组件的区别

北城余情 提交于 2020-05-02 07:11:37
amazeui中css组件、js组件、web组件的区别 一、总结 一句话总结: 1、可直接像调用js插件那样调用:在AmazeUI(妹子UI)中,Web组件可以不编写模板而直接使用,若如此,则与JS插件没什么太大区别,官方原话也说可以这么调用的。 2、能编写自定义模板通过js代码调用:Web组件与JS插件的不同之处在于,Web组件借助 handlebars.js 实现了强大的模板功能,我们能编写自定义模板从而使Web组件更具个性,甚至是编写出新的Web组件。 二、amazeui中css组件、js组件、web组件的区别 AmazeUI(妹子UI)是非常优秀的国产前端UI,现在来介绍一下AmazeUI中CSS组件、JS插件与Web组件的区别。 CSS组件顾名思义就是 仅使用CSS渲染而成的组件 , 而JS插件也很容易理解 ,就是 由CSS渲染和JS来控制行为的组件 。 比较不好理解就是Web组件,好像跟JS插件意思差不多,都是CSS和JS组成的。它们到底区别在哪?我们重点来讲这个。 我们通过学习如何调用Web组件(其中的手风琴组件)来一步一步了解其与JS插件的区别。 示例01.Web组件-直接使用 (请下载附件查看示例) 示例中关键代码: 1 < section data-am-widget ="accordion" class ="am-accordion am-accordion

闲来无事,扒一下Express框架的知识

北城以北 提交于 2020-05-01 22:18:52
❝ 自从Node.js出现之后,相应的web框架就出现了,而且都是比较容易上手和搭建的,框架中都有一个很重要的概念“中间件”,今天就来扒一下其中的奥妙。 ❞ 01 前言 还记得之前面试的时候,我说用过Node搭建了一个小型的后台框架,然后面试官就问了一下你用过什么常用的中间件吗? 我当时知道中间件就是一个类似插件一样,依次执行的东西。虽然我在项目当中也用到了类似body-parser、express.static()这些,奈何年少无知我不知道这就是中间件。现在想想要是再问我中间件原理就更不懂了。 现在的中间件是挺多的,可以满足我们很多的数据处理与请求,我们今天就来看一下中间件这个神奇的东西到底神在哪? 02 认识Express 得益于JavaScript的发展,使得Node诞生了, 能够在服务器端运行JS代码 ,这无疑是令人激动的事情,Express其实就是一个 Node.js Web程序框架 ,简单来说就是快速构建一个“后台”。我们用很简单的代码就可以搭建一个服务器,不用费劲心思来使用其他的语言来搭建,而且其他语言在什么也没干的情况下就出现极多的代码。 Node与其他传统的Web服务器的重大区别就是它是 单线程 的,它可以简化Web程序的编写,如果要实现多线程就启动多个Node实例即可。而且 Node是跨平台的,与平台是无关的

Webpack实战(四):教教你如何轻松搞定-预处理器(loader)

冷暖自知 提交于 2020-04-29 13:17:38
前面三节,我主要给大家分享了有关webpack的一些配置的知识点,如何打包js文件,而如果我们遇到其他类型的资源如图片、css、字体font等等,我们该如何处理呢?今天会介绍预处理器(loader),它赋予了Webpack可处理不同资源类型的能力,极大丰富了其可扩展性。 如果想了解Webpack的基础配置可以参考以下地址: Webpack实战(一):Webpack打包工具安装及参数配置 Webpack实战(二):webpack-dev-server的介绍与用法 Webpack实战(三):作为前端你不得不懂的Webpack资源入口和出口的配置 在一个项目中,我们要面临着各种各样的资源,如何让Webpack很好的处理这些资源呢?这个时候我们需要借助于预处理器(loader),loader的字面意思是装载器,在Webpack中它的实际功能则更像是预处理器。Webpack本身只认识JavaScript,对于其他类型的资源必须预先定义一个或多个loader对其进行转译,输出为Webpack能够接收的形式再继续进行,因此loader做的实际上是一个预处理的工作。 loader配置 loader引入 如果我们要引入css文件,webpack是没法处理的,如 // common.css body { font-size: 20px; background: #0fc; } //index.js

递推最小二乘法求解线性方程组(附MATLAB代码)

两盒软妹~` 提交于 2020-04-14 17:39:19
【推荐阅读】微服务还能火多久?>>> 前言 参考博文: 参考1 参考书目 知乎公式推导 关于递推最小二乘法,网上各种资料,让人莫衷一是,故整理其重要部分,述而不作,说的就是我了! 最后附MATLAB代码,实测可用 概述 递推最小二乘法的引入(具体见知乎文章) 关键公式 递推公式如下所示(推导见参考书目46页或者知乎文章) MATLAB代码实现 function res = RLS ( A , b , num , len ) % num为辨识参数的个数,即A的列数 % len为数据的长度,即A的行数 % 求解Ax = b % res为辨识的参数,即求解得到的x值 format long ; x = rand ( num , 1 ) ; I = eye ( num , num ) ; P = ( 10 ^ 6 ) * I ; for k = 1 :len Ak = A ( k , : ) ; % 新的数据行,即phi Q1 = P * ( Ak ' ) ; % K(k)的分子 Q2 = 1 + Ak * P * ( Ak ' ) ; % K ( k ) 的分母 K = Q1 / Q2 ; % 更新K ( k ) x = x + K * ( b ( k ) - Ak * x ) ; % 更新辨识的参数 P = ( I - K * Ak ) * P ; % 更新P thetae ( : ,

Leetcode: NO.1249 移除无效的括号

我们两清 提交于 2020-04-10 10:23:44
题目 链接:https://leetcode-cn.com/problems/minimum-remove-to-make-valid-parentheses 给你一个由 '('、')' 和小写字母组成的字符串 s。 你需要从字符串中删除最少数目的 ‘(’ 或者 ‘)’ (可以删除任意位置的括号),使得剩下的「括号字符串」有效。 请返回任意一个合法字符串。 有效「括号字符串」应当符合以下 任意一条 要求: 空字符串或只包含小写字母的字符串 可以被写作 AB(A 连接 B)的字符串,其中 A 和 B 都是有效「括号字符串」 可以被写作 (A) 的字符串,其中 A 是一个有效的「括号字符串」 示例 1 : 输入:s = "lee(t(c)o)de)" 输出: "lee(t(c)o)de" 解释: "lee(t(co)de)" , "lee(t(c)ode)" 也是一个可行答案。 示例 2 : 输入:s = "a)b(c)d" 输出: "ab(c)d" 示例 3 : 输入:s = "))((" 输出: "" 解释:空字符串也是有效的 示例 4 : 输入:s = "(a(b(c)d)" 输出: "a(b(c)d)" 提示: 1 < = s . length < = 10 ^ 5 s [ i ] 可能是 '(' 、 ')' 或英文小写字母 解题记录 第一个 '(' 之前的 ')' 都不要