在Jquery中,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,如$('#msg')等同于JQuery('#msg')的写法。然而,当我们引入多个js库后,在另外一个js库中也定义了$符号的话,那么我们在使用$符号时就发生了冲突。下面以引入两个库文件jquery.js和prototype.js为例来进行说明。 第一种情况:jquery.js在prototype.js之后进行引入,如:
vonic-webpack-starter 是vonic-template下载后的目录,自动生成结构保持不变,只需要改变Src目录下的目录结构,对修改后的结构进行简单说明如下:
CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。 它的终极目标是提供一个类似Python,Ruby和Java标准库。 这样的话,开发者可以使用CommonJS API编写应用程序,然后这些应用可以运行在不同的JavaScript解释器和不同的主机环境中。
type="module" 表示使用模块化, ./module/1.js 中的 ./ 不能省略
Prism是一款非常好用的前端代码高亮插件,很多开发者搭建的文章、博客分享网站中都使用到了prism.js来做代码高亮,但是在官网的下载网站选完了主题和插件后却犯了难:如果选择语言包,如果全选那么体积将近600kb如果选少了害怕以后不够用,还要来补。其次,基本上只有语言包支持Node.js环境,插件基本都是基于DOM实现没有对Node.js环境进行兼容。于是有了一个想法:通过API接口将语言包动态返回,根据前端传来的参数,主题+语言包+插件拼接后返回给前端的script和link标签。
现实工作中, 一个项目可能会有多个人同时开发. 然后, 将所有人开发的内容, 合并到一个文件中. 比如: 1. 有3三个人同时开发, 一个人一个js文件, 最后引入到main.js 2. 每个人单独写, 这样, 定义的变量可能会重名, 那么在main.js中取值赋值就可能会出现问题
https://raw.githubusercontent.com/qq286735628/Framework7/master/dist/js/framework7.js
大家肯定要问了,那小程序开发跟影分身术也能扯上关系?没错,那自然就是:一套代码,多个小程序啦。
const path = require('path') const utils = require('./utils')// 引入utils工具模块,具体查看我的博客关于utils的解释,utils主要用来处理css-loader和vue-style-loader的 const config = require('../config')// 引入config目录下的index.js配置文件,主要用来定义一些开发和生产环境的属性 const vueLoaderConfig = require('./vue-
随着大前端的快速发展,node版本更新很快,我们在工作中,可以会有老版本的node的项目需要维护,也可能有新版本的node的项目需要开发,如果我们只有一个node版本的话将会很麻烦,nvm可以解决我们的难点
前言 推荐一波前端开发必备插件,绝对可以提高你的生产力,剩下来的时间来 mo鱼,岂不美哉 开发综合推荐 别名路径跳转 插件名:别名路径跳转 使用说明: 别名路径跳转插件,支持任何项目, 使用场景: 当你在开发页面时, 想点击别名路径导入的组件时(演示如下) 配置说明 下载后只需自定义配置一些自己常用的别名路径即可 // 文件名别名跳转 "alias-skip.mappings": { "~@/": "/src", "views": "/src/views", "assets"
Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。
在上一篇文章中聊到了很多TS基础类型,那为什么又出现了扩展类型枚举,我们都知道任何东西都不是平白无故就出现的,都是为了解决特定的问题。枚举只是扩展类型其中之一,比如说还有类型别名,接口,类
typescript是一个js的超集,个人理解为包装了面向对象编程逻辑的语法糖,所以一般使用typescript的语言来编写代码,然后再使用typescript编译为原生js,这样就可以作为普通js脚本运行了。typescript语法很多地方与java类似,作为java程序员学起来不会很吃力。
方法事件处理器 许多事件处理的逻辑都很复杂,所以直接把JavaScript代码写在v-on指令中是不可行的,因此v-on可以接收一个定义的方法来调用
1 tsconfig.json path属性中新增自定义别名的路径 文件中默认配置了src路径的别名@
在业务开发中,例如:用户登录添加用户名和密码之后,按下回车键完成登录,这个操作就需要绑定按键的keyup事件,并且还要使用按键修饰符来指定按下的键盘按钮。
我们知道路由定义了一系列访问的地址规则,路由引擎根据这些规则匹配找到对应的处理页面,然后将请求转发给页进行处理。可以说所有的后端开发都是这样做的,而前端路由是不存在"请求"一说的。
欲善其工必先利其器,本文以vscode编辑器为例子,分享一下笔者常用的vscode工具及技巧,同时也欢迎高手不惜赐教,分享更多的使用技巧,提高工作效率和编程幸福感。本文分为两个部分,常用插件和使用技巧,欢迎点赞(pai zhuan)。
这样输入 h 和输入 help 的结果是一样的,v 和 version 的结果是一样的
可以将所有的Mutation事件,写入到一个单独的文件中,然后通过常量来替代,可以方便开发者对项目中所有Mutation
上一篇我们使用了简单的数据渲染,那么如果说我们想要动态渲染标签的 class 可以这么操作么?
给Ionic写一个cordova(PhoneGap)插件 之前由javaWeb转html5开发,由于面临新技术,遂在适应的过程中极为挣扎,不过还好~,这个过程也极为短暂;现如今面临一些较为复杂的需求还会有一丝丝头痛,却没有一开始那么强烈了。。。 在正式写下文之前,我先感谢公司大boss:王总,感谢他让我进入了一个有挑战性的技术公司 并在这个过程中一直鼓励我不断汲取新技术,同时也指正了我在开发中的一些不太好的习惯,十分感谢! 再~,感谢在开发中给予我太多帮助的杜勇以及孙金~,不论是需求讨论还是具体
indent-rainbow 插件名: indent-rainbow 功能:彩虹缩进
可能有些人注意到了,在 vue-cli 生成的模板中在导入组件时使用了这样的语法:
如果你试图在 npm 官方搜索 npm add 这个指令,你会发现这个指令似乎根本不存在,如下图:
这里我选用 babel-plugin-root-import插件,主要是方便,不需要再为了 eslint 不识别 '@' 而增加配置。
ES6支持了模块功能(模块导出和导入),类似node.js的模块功能。但是,两者有着本质区别。
在上一次搭建后台服务的基础上,本次主要是引入了一套前端框架,当然在进行界面与接口调试的过程中,发现jpa的使用还是有一些不是很明了的地方,有些地方已经解决,而有些地方目前没有精力去处理,但是不会影响我们的正常使用。
webpack的一点介绍 Webpack 把任何一个文件都看成一个模块,模块间可以互相依赖(require or import),webpack 的功能是把相互依赖的文件打包在一起。webpack 本身只能处理原生的 JavaScript 模块,但是 loader 转换器可以将各种类型的资源转换成 JavaScript 模块。这样,任何资源都可以成为 Webpack 可以处理的模块。同时,webpack还有丰富的插件 plugin,可以完成例如js,css的压缩,公共依赖模块的提取和注入,甚至利用模板对 h
webpack 的loader 基础作用相当于一个项目插件,能够将指定文件统一的处理,是一个函数,相当于源码经过这个函数,出去变成了想要的目标。
通过引入强类型系统,补充JS的短板。原生JS类型的灵活性导致在实际环境中可能会出现各种不确定的bug。通过使用TS,我们可以在开发阶段既预测这些可能由类型转换导致的错误,从而提前规避bug,开发出更健全的程序。
在业务开发中,例如:用户登录添加用户名和密码之后,按下回车键完成登录,这个操作就需要绑定按键的keyup事件,并且还要使用「按键修饰符」来指定按下的键盘按钮。
@(webpack) webpack是一款功能强大的前端构建工具,不仅仅是针对js,它也可通过各种loader来构建相关的less,html,image等各种资源,将webpack配合流程制定工具gulp结合起来,则更为方便的自定义工作流程。 ---- [TOC] webpack的alias匹配问题初现 在webpack.config.js中,通过设置resolve属性可以配置查找“commonJS/AMD模块”的基路径,也可以设置搜索的模块后缀名,当然,最后一个就是我们要讲的别名alias设置。 跟踪问题
说明:只有传"false"才能设置为false。传0、"False"都会被变成true。
路由的实质是一种对应关系,url 与资源之间的对应关系就是路由。路由分为前端路由和后端路由,后端路由是由服务器完成转发,前端路由是 hash(锚点) 的变化实现的。Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有: ♞ 嵌套的路由/视图表 ♞ 模块化的、基于组件的路由配置 ♞ 路由参数、查询、通配符 ♞ 基于 Vue.js 过渡系统的视图过渡效果 ♞ 细粒度的导航控制 ♞ 带有自动激活的 CSS class 的链接 ♞ HTML5 历史模式或 hash 模式,在 IE9 中自动降级 ♞ 自定义的滚动条行为
在开发中,我们经常会遇到展示列表数据的需求,在小程序中需要使用标签 wx:for / wx:for-index / wx:for-item 来实现相关功能,运行效果如下所示。 wx:for="{{mainListViewData}}" : 定义循环,数组名称为 mainListViewData wx:for-index="mainListViewDataIndex" : 定义索引值的名称 mainListViewDataIndex
上一章介绍了模块的语法,本章介绍如何在浏览器和 Node.js 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。
在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。
本文源自工作中的一个问题,在使用 Mongoose 做关联查询时发现使用 populate() 方法不能直接关联非 _id 之外的其它字段,在网上搜索时这块的解决方案也并不是很多,在经过一番查阅、测试之后,有两种可行的方案,使用 Mongoose 的 virtual 结合 populate 和 MongoDB 原生提供的 Aggregate 里面的 $lookup 阶段来实现。
在之前的文章中,我们了解了 TypeScript 主要分为 JS 语言侧和类型侧两个部分。
配置详解 //使用插件html-webpack-plugin打包合并html //使用插件extract-text-webpack-plugin打包独立的css //使用UglifyJsPlugin压缩代码 var HtmlWebpackPlugin = require('html-webpack-plugin'); var ExtractTextPlugin = require('extract-text-webpack-plugin'); var webpack = require("webpack")
首先说明一下,这个已经是老框架了,不建议使用,只是当做了解一下过去的知识,或者学习一下源代码,知道过去的模块化开发是什么样的,模块化开发的好处,API 快速参考
本文系统的梳理了vue-cli3搭建项目的常见用法,目的在于让你快速掌握独立搭建vue项目的能力。你将会了解如下知识点:
'use strict' //引入node path 中间件 可以获取到 path 路径的一些信息 const path = require('path') //引入utils工具模块 utils主要用来处理css-loader和vue-style-loader的 const utils = require('./utils') //引入config下面的index文件 主要是配置一些开发环境和生产环境的配置 const config = require('../config') //用来解决各种css 文
领取专属 10元无门槛券
手把手带您无忧上云