接前面一篇文章,前一篇文章中只有一个页面,并且只有一个js文件,所以打包的时候会把那个js打包成一个bundle.js文件。但是假如我们有多个页面,且每个页面需要使用的js文件也不同,那么我们应该怎样打包呢。 安装依赖库 这里准备做个小的演示程序,首先安装一些这个演示程序需要看的第三方库 $ npm install --save-dev electron $ npm install --save-dev electron-packager $ npm install --save-dev webpack $
本篇使用redux结合react重写刚才那个很简单的hello world示例。 redux的理念 redux有三个重要的理念:单一数据源、状态是只读的、使用纯函数转换状态。具体见链接 安装redux与react-redux 1 npm install redux react-redux --save 状态转换纯函数 web-src/js/components/GreetingConstant.js 1 export const CHANGE_NAME = 'CHANGE_NAME'; web-src/
AngularJS中的route可以控制页面元素的改变,使多页面变成一个单页面 第一步:引入必要的js: <script src="js/lib/angular.js"></script> <script src="js/lib/angular-animate.min.js"></script> <script src="js/lib/angular-route.min.js"></script> <script src="app.js"></script> 第二步:准备好一个单页: <body ng-a
性能一直是项目中比较重要的一点,尤其门户网站,对页面的响应要求是很高的,从性能角度上来讲,对于Web端的优化其中重要的一点无疑是JS、CSS文件压缩,图片的融合,尽量减小文件的大小,必免占加载时占用过多的带宽。yuicompressor无疑是一个比较好的压缩工具,是yahoo的一个开源组件,下面介绍yuicompressor压缩JS、CSS文件,及在项目中的使用
首先,我要说SyntaxHighlighter插件的实现方式及应用示例,然后再说明如何将其应用到自己的博客,使博客的代码着色更加美观。
注意:fa前缀最新版本中已弃用。新的默认设置是实心的fas样式和品牌的fab样式。
接上篇,angular 实战部分,angular比较适合spa项目,这里不借助任何seed和构建工具,直接从零搭建,基本的angular项目结构大致包含如下几个部分: 1)app.js 入口 2)index.html html框架页 3)lib(vendor)第三方类库 4)components 业务组件 5)styles/images 静态资源部分 1、常规实现 创建文件夹demo1,按照上述结构分别创建app.js ,index.html文件,创建lib、components
Copying '/opt/jumpserver/apps/static/fonts/FontAwesome.otf' Copying '/opt/jumpserver/apps/static/fonts/fontawesome-webfont.eot' Copying '/opt/jumpserver/apps/static/fonts/fontawesome-webfont.svg' Copying '/opt/jumpserver/apps/static/fonts/fontawesome-webfont.ttf' Copying '/opt/jumpserver/apps/static/fonts/fontawesome-webfont.woff' Copying '/opt/jumpserver/apps/static/fonts/fontawesome-webfont.woff2' Copying '/opt/jumpserver/apps/static/fonts/glyphicons-halflings-regular.eot' Copying '/opt/jumpserver/apps/static/fonts/glyphicons-halflings-regular.svg' Copying '/opt/jumpserver/apps/static/fonts/glyphicons-halflings-regular.ttf' Copying '/opt/jumpserver/apps/static/fonts/glyphicons-halflings-regular.woff' Copying '/opt/jumpserver/apps/static/fonts/glyphicons-halflings-regular.woff2' Copying '/opt/jumpserver/apps/static/fonts/font_otp/iconfont.css' Copying '/opt/jumpserver/apps/static/fonts/font_otp/iconfont.eot' Copying '/opt/jumpserver/apps/static/fonts/font_otp/iconfont.js' Copying '/opt/jumpserver/apps/static/fonts/font_otp/iconfont.svg' Copying '/opt/jumpserver/apps/static/fonts/font_otp/iconfont.ttf' Copying '/opt/jumpserver/apps/static/fonts/font_otp/iconfont.woff' Copying '/opt/jumpserver/apps/static/img/authenticator_android.png' Copying '/opt/jumpserver/apps/static/img/authenticator_iphone.png' Copying '/opt/jumpserver/apps/static/img/facio.ico' Copying '/opt/jumpserver/apps/static/img/logo-text.png' Copying '/opt/jumpserver/apps/static/img/logo.png' Copying '/opt/jumpserver/apps/static/img/otp_auth.png' Copying '/opt/jumpserver/apps/static/img/root.png' Copying '/opt/jumpserver/apps/static/img/avatar/admin.png' Copying '/opt/jumpserver/apps/static/img/avatar/user.png' Copying '/opt/jumpserver/apps/static/js/angular-route.min.js' Copying '/opt/jumpserver/apps/static/js/angular.min.js' Copying '/opt/jumpserver/apps/static/js/bootstrap-dialog.js' Copying '/opt/jumpserver/apps/static/js/bootstrap.min.js' Copying '/opt/jumpserver/apps/static/js/inspinia.js' Copying '/opt/jumpserver/apps/static/js/jquery-2.1.1.j
用JS操作DOM,是比较慢的。为什么呢?首先,补充一下浏览器相关的知识。下图为浏览器结构:
1.下载框架文件(也可从Bootstrap官网下载) Bootstrap V3.3.7 Starter ZIP 下载并解压出template和bootstrap3两个文件夹 放到工程中 2.复制template文件夹中的starter.html 粘贴到需要创建页面的地方,改名字即可
https://github.com/owt5008137/WP-Code-Highlight.js
https://github.com/owent/WP-Code-Highlight.js
最近使用到了ngOption实现下拉选择列表,由于需要实现分组等功能,百度了下没有太好的文章,就百度到一篇英文的帖子,按照其中的代码很顺利的搞定了。 本篇根据文中代码,详细讲述下如何实现下拉列表 更多内容参考:AngularJS知识总结 下拉列表的简单使用 ng-option指令使用很简单,只需要绑定两个属性: 一个是ng-model用于获取选定的值; 另一个是ng-options用于确定下拉列表的元素数组。 <select ng-model="engineer.currentActivity"
回顾下上篇教程更新主题后的博客系统,可以看到顶部右上角导航菜单有两个链接,分别指向关于页面和联系表单页面:
React 的生态系统很大,为了解决 React 中比较困难的问题,你可以选择多种模块。大多数实际的 React 应用程序都有一些共同的需求,这些需求主要包括状态管理及路由。而解决这些需求最常用的是 Flux 及 React Router。
原文:Build a React + Flux App with User Authentication 译者:nzbin 译者的话:这是一篇内容详实的 React + Flux 教程,文章主要介绍了如何使用 API 获取远程数据以及如何使用 JSON Web Tokens 进行用户身份认证。在阅读本文之后,我一直使用文章介绍的方法,通过搭建 Node 服务器,模拟接口数据进行前端开发。这篇文章发表于 2016 年 5 月,我是去年读的本文,但迟迟没有翻译,而现在准备重新学习 React ,所以把这篇文章翻
image.png 更新日志 添加问题模板 添加mac gitignore配置 添加发布缩略图网址功能 添加共享功能#35 #28 #44 添加帖子内容摘录剪辑#15 修复!lg页面gotop #30 修复共享btn风格 修复a:悬停默认颜色#43 #12 修复默认的删除功能#16 修复标题行夹#48 #45 删除diy资源 删除升级配置 优化默认微信QR图像 优化更改按钮的颜色 image.png kratos ├── 404.php ├── LICENSE ├── comments.ph
2013年9月26日 花了一上午的时间,熟悉了LiveWriter的用法,学会了怎么配置语法高亮,总结下来。
项目中我们常常会接触到模块,最为典型代表的是esModule与commonjs,在es6之前还有AMD代表的seajs,requirejs,在项目模块加载的文件之间,我们如何选择,比如常常因为某个变量,我们需要动态加载某个文件,因此你想到了require('xxx'),我们也常常会用import方式导入路由组件或者文件,等等。因此我们有必要真正明白如何使用好它,并正确的用好它们。
前几天,Node.js v18作为当前的稳定版本发布了。我们归纳了 v18 的一些更新。
原文:Announcing a new --experimental-modules
最近因为工作,需要通过 Node.js 对 Docker 进行一系列操作如,创建删除容器以及下发指令获取结果等。找了一圈网上大部分资源都是如何容器化 Node.js App 而非通过 Node.js 操作 Docker,Docker 官方也并未提供针对 Node.js 的 sdk,所以这篇文章就简单带大家了解一下如何通过 Node.js 相对高效的向 Docker daemon 直接下发指令。
如果你觉得 React Navigation 默认 Tab 组件看起来太平淡,或者想创造一些更现代的东西,那么你想法就和我一样。 在本指南中,我将向你演示如何创建自定义标签栏以并与 React Navigation 一起使用。
=============================================================
Node.js®是一个基于Chrome JavaScript运行时的平台,可轻松构建快速,可扩展的网络应用程序。Node.js使用事件驱动的非阻塞I / O模型,使其轻量级和高效,非常适合在分布式设备上运行的数据密集型实时应用程序。
迷你图(Mini Chart)最早起源于流程图和组织架构图中的一种简化图形,用于表示一个大型数据集合中的趋势和变化。随着数据可视化技术的发展,迷你图也被广泛应用在各种类型的数据图表中,例如折线图、柱形图、散点图等。迷你图通常具有小巧、简洁、直观的特点,能够在有限的空间内有效地展示数据趋势,方便用户理解和分析数据。在现代数据分析和商业决策中,迷你图已经成为一种非常常见的数据可视化工具。今天的文章内容就是介绍如何在JavaScript中引入迷你图。
Webpack模块联邦(Module Federation)是Webpack 5引入的一项革命性特性,它彻底改变了微前端架构的实现方式。模块联邦允许不同的Web应用程序(或微前端应用)在运行时动态共享代码,无需传统的打包或发布过程中的物理共享。这意味着每个微应用可以独立开发、构建和部署,同时还能轻松地共享组件、库甚至是业务逻辑。
简单理解就是说 “一个应用可以由多个独立的构建组成,这些构建彼此独立没有依赖关系,他们可以独立开发、部署。这就是常被认为的微前端,但不局限于此”
敲代码没有高亮简直蛋疼,简单带过下 sublime打开 —→ 点击Preferences下的Package Control —→ 输入install package回车 过一会儿 —→ 再输入vue syntax highlight回车,安装完毕 —→ 点击sublime选择vue component,即高亮
Webpack 5 的消息尽管已经出来了许久,但是正式版一直还未发布。Webpack 5 的 ChangeLog 中,除了常规的性能优化、编译提速之外,有一个比较让人期待的功能就是 Module Federation。Module Federation 可以强行翻译成「模块联邦」,但是听起来很是怪异,我在某个前端群也抛出了这个问题,没想到大家的回复也是五花八门。所以,本文就直接用 Module Federation 了,不进行翻译听起来好像更舒服一点。
第二步:在 state.js action.js motation.js中分别编写对应的代码:
在github上搭建的博客系统,比如想知道自己网站的PV、UV即用户访问量、页面访问量
Ajax Toolkit 参考文档:https://resources.docs.salesforce.com/212/latest/en-us/sfdc/pdf/apex_ajax.pdf 在项目中,我们有时会在自定义button或者action上使用javascript进行一些SOQL或者DML操作处理;有时会在VF页面中获取相关数据进行逻辑处理,或者进行简单的DML操作,这时候就会使用到Ajax Toolkit。 因为Ajax Toolkit操作数据信息是在浏览器端的,进行复杂的逻辑或者对大量数据处理
本周 2020-05-26,Nodejs v12.17.0 LTS 版发布,去掉 --experimental-modules 标志。
整理学习react技术栈相关知识,在写了一个电商AppDemo后,开始思考起该如何高效的组织react项目的项目结构。
一直想写一个Vuejs的系列的博客,苦于一直没有时间,今天的这个博客也是思考了很久,打算随便写点东西,今天说说Vuejs的模版的使用。
通过前面几节学习,大家应该都知道了,一个div对象是可以通过拖拉来改变大小,也可以通过拖动来改变其位置的。如何改变大小已经讲解过了,那么怎么实现拖动改变位置呢?现在就开始讲解如何实现拖动 — Draggable。
看图,只有修改了的数据才进行了刷新,减少了DOM操作,这其实就是vnode与newVnode对比,找出改变了的地方,然后只重新渲染改变的
两个画图用的JS框架。前端框架的名字都蛮有意思的, two.js - three.js - D3.js , canvas - konvas.js , view - vue.js ...
使用vscode编写js代码,刚开始点击tab是不会自动补全代码的,其实还是有很多不便的地方的。查了下资料,把步骤列出来,跟着这个设置就好了。
你如何创造火,烟,魔法和爆炸等效果?你制作了许多小精灵,几十,几百,甚至上千个精灵。然后对这些精灵应用一些物理效果,使它们的行为类似于你尝试模拟的元素。你还必须给他们一些关于它们应该如何出现和消失以及应该形成什么样的模式的规则。这些微小的精灵被称为粒子。你可以使用它们为游戏制作各种特效。
Node.js 中使用 ES6 中的 import / export 的方法大全
公元 2021 年 6 月 2 日,【 HarmonyOS2.0 】正式发布,以 JavaScript 作为 IoT 应用开发的架构语言,这是继 SpaceX 上天之后 JavaScript 再一次成为开发领域的热点话题。今天我就来和大家分享下 HarmonyOS 以及 HarmonyOS 中的 JavaScript GUI 技术栈。
用 fabric.js 创建画布时,fabric.js 会在 canvas 元素外包一层 div 容器。
雷锋网 AI 研习社按:本文为雷锋字幕组编译的技术博客,原文 Make Music and Art Using Machine Learning,作者 magenta。
在JS中,判断一个数组中是否包含某个值,一般用indexOf(),今天我们用contains,跟写java一样判断数组包含某个值,但是js原生是没有数组的contains,所以我们要先自己封装一下,给Array增加contains()方法了
看到一篇还不错的文章,翻译(也不是完全翻译,还是改动了一点点让它变得更易理解)了一波,想看原文的移步这里。
前几天我们稍微尝试了一下Webpack提供的新能力Module Federation,它为我们代码共享跟团队协作提供了新的可能性。之前若是我们项目A跟项目B有一些共同的逻辑,那我们可能会选择把它抽成一个npm包,然后在两个项目间引入。但是这有个缺点是只要npm包更新,我们的项目就需要重新打包来引入公共逻辑的更新,哪怕项目里一行代码没改。
Contact Form 7 是一个非常强大并且易用的联系表单的插件,我在很多项目中都用到它,但是这个插件有个很不好的地方,会在整个博客的所有前台页面都加载 Contact Form 7 的 JavaScript 和 CSS 代码,对于性能要求极致的我们,当然不允许这样的事情发生,所以我们可以通过下面的代码实现只在含有 Contact Form 7 表单的页面加载 Contact Form 7 的 JS 和 CSS 代码。
领取专属 10元无门槛券
手把手带您无忧上云