Linner介绍、安装及简单Demo

前端---一个轻量级的进度条组件NProgress, 路由加载时进度条 NProgress 是一个轻量级的进度条组件,使用简便,可以很方便集成到单页面应用中可应用在路由加载, 数据请求加载 阅读详情

Linner前端项目阐述

项目结构

通过linner创建的项目结构如下:

├── app
│   ├── components
│   │   └── dropdown
│   │       ├── view.coffee
│   │       ├── view.hbs
│   │       └── view.scss
│   ├── images
│   │   └── logo.png
│   ├── scripts
│   │   └── app.coffee
│   ├── styles
│   │   └── app.scss
│   ├── templates
│   │   └── welcome.hbs
│   └── views
│       └── index.html
├── bin
│   └── server
├── config.yml
├── public
├── test
└── vendor

app 用户编写代码的地方

​ components存放项目的组件类文件

​ images存放项目的图片文件

​ scripts存放项目的JavaScript文件,当然CoffeeScript文件也可以

​ styles存放项目的样式文件

​ templates存放项目的前端模板文件

​ views存放项目的后端模板文件,也是前端页面的入口文件存放处

bin存放启动前端项目命令的文件

config.xml整个项目的配置文件

public项目打包后的文件位置,包含部署前端需要的所有文件

test可以写一些单元测试用例测试开发好的功能

vendor项目需要的第三方组件库全部放在该文件夹,例如:Jquery、Bootstrap等

项目阐述

组件

每个前端项目的不同页面之间都会有很多相同逻辑的模块,我们可以将这部分内容抽取出来,做成可复用的模块,放到app/components里面。

我们也可以将每个页面中间操作的部分放到app/components里面,每个模块都可以包含js文件、样式文件以及前后端模板,然后通过app.coffee进行初始化所有的组件。

图片、CSS、JS文件合并

linner可以将很多张图片合并成一张大图片,项目中可以用CSS的background来获取需要的图片,这样可以减少由图片导致的HTTP请求,提升网站访问速度;

同样,也可以将CSS文件、JS文件进行合并,减少文件的数量,这样页面在初始化的时候,就可以减少请求次数,可以有效的加快页面渲染的速度。

仓库管理

通过 bundles 来管理远端依赖,在项目中可以非常方便的引入一些著名的第三方库。 如 jQuery,Bootstrap等。

依赖可以规定多个版本,当需要升级版本时,可以更改 version 与 url 在工具下次启动时便可以拉取新版本的依赖。如果希望依赖一直为最新状态,可以将 version 设置为 master 这样工具会在每次启动时都获取最新的文件。

实时监控文件变化并编译

可以实时监控到项目内文件的变动,同时重新执行整个工具的编译逻辑。这样在我们的开发过程中,可以尽最大程度的提升开发效率。有一点需要注意,在项目开发过程中需要使用 linner watch ,这样在浏览器中,我们还可以对逻辑比较负责的js文件进行断点操作。

config.yml文件配置详解

paths:
  app: "app"
  test: "test"
  public: "public"
groups:
  scripts:
    paths:
      - app/scripts
    concat:
      "/scripts/app.js": "app/**/*.{js,coffee}"
      "/scripts/vendor.js": "vendor/**/*.{js,coffee}"
    order:
      - vendor/jquery-1.10.2.js
      - ...
      - app/scripts/app.coffee
  styles:
    paths:
      - app/styles
    concat:
      "/styles/app.css": "app/styles/**/[a-z]*.{css,scss,sass}"
  images:
    paths:
      - app/images
    sprite:
      "../app/images/icons.scss": "app/images/**/*.png"
  views:
    paths:
      - app/views
    copy:
      "/": "app/views/**/*.html"
  templates:
    paths:
      - app/templates
    precompile:
      "/scripts/templates.js": "app/templates/**/*.hbs"
modules:
  wrapper: cmd
  ignored: vendor/**/*
  definition: /scripts/app.js
sprites:
  url: /images/
  path: /images/
  selector: .icon-
revision: index.html
bundles:
  jquery.js:
    version: 1.10.2
    url: http://code.jquery.com/jquery-1.10.2.js
  handlebars.js:
    version: 1.0.0
    url: https://raw.github.com/wycats/handlebars.js/1.0.0/dist/handlebars.runtime.js

paths 表示当前工具做监视的文件系统目录

groups 区分了不同的组,每个组可以有一个名字。在组内部的声明中需要指定当前组的 paths,然后可以指定一系列的操作原语,包括:concat order copy precompile sprite 等

modules 定义了需要被 CMD 包装的文件路径,以及包装定义的头文件连接位置

sprites 定义了图片 sprites 的一些生成规则,例如以 .icon- 开头来生成 CSS 列表,这样用户便可以以这样的 CSS 选择器来直接生成样式。

revision 定义了需要被加载 rev 的文件,用以 md5 的文件名来替换旧文件名

bundles 定义了项目的依赖关系,项目可以依赖很多第三方的项目,可以自定义版本号。 如果需要每次启动都更新最新版本的依赖,可以将 version 设置为 master

linner常用命令

# 使用 Linner 创建项目结构
linner new webapp
# 在项目开发过程中使用linner
linner watch
# 退出linner
Ctrl+C
# 打包前端项目进行发版
linner build
# 清空打包的资源文件
linner clean

最后,附上业界大厂、大咖们总结的前端网站优化标准,我们在日常开发的时候,可以尽量避免跌入比较低级的坑,哼哧哼哧半天,才爬出来(自动点头.png)

  1. 尽可能减少 HTTP 请求数
  2. 使用 CDN(内容分发网络)
  3. 为文件头指定 Expires 或 Cache-Control,使内容具有缓存性
  4. 使用 Gzip 压缩内容
  5. 把 CSS 放到顶部
  6. 把 JavaScript 放在底部
  7. 避免在 CSS 中使用 Expressions
  8. 把 JavaScript 和 CSS 都放到外部文件中
  9. 减少 DNS 查找次数
  10. 压缩 JavaScript 和 CSS
  11. 避免重定向
  12. 剔除重复的 JavaScript 和 CSS
  13. 配置 Etags
  14. 使 AJAX 缓存

推荐阅读:
Linner介绍、安装及简单Demo
更多文章请扫描下方二维码关注公众号获取,或者微信搜索【HughPro】关注
在这里插入图片描述

Linner环境搭建教程 linner安装及配置说明 立即下载

相关推荐

linner的绿色版

win10安装linner,亲测可用,配置简单,附带配置方法。

Linner 项目使用教程

Linner 项目使用教程 1、项目介绍 Linner 是一个功能齐全的 HTML5 应用程序组装器。它支持 Sass、Compass、CoffeeScript、ECMAScript 6 和 React。Linner 还支持 OS X Lion 和 Mountain Lion 系统,并且可以通过配置文件而不是指令处理器来连接代码。此外,Linner 支持从源代码复制到目标代码、预编译 JavaSc...

gitblog_00100的博客 429

5.4 磁悬浮轴承控制系统仿真:在MATLAB/Simulink中搭建包含功放、传感器模型的闭环系统模型,进行稳定性与动态性能仿真

磁悬浮轴承控制系统仿真方法 摘要:磁悬浮轴承控制系统仿真需建立包含转子动力学、传感器、控制器、功率放大器和电磁执行器的高保真非线性模型。通过MATLAB/Simulink搭建闭环系统,重点建模传感器带宽限制与噪声、功放饱和特性以及电磁力非线性。仿真分析包括时域阶跃响应、扰动抑制测试,频域稳定性分析(伯德图、奈奎斯特图),以及参数摄动下的鲁棒性验证。关键要验证控制算法在非线性因素影响下的稳定性和动态性能,为实际系统实现提供可靠依据。仿真中需特别注意物理量单位一致性和数字控制离散化效应。

技术工作者 1107

前端架构介绍(linner scss coffeescript)

在互联网应用越来越大,越来越复杂的今天,我们不可避免的需要工具来管理我们的前端代码。 替代以前的一个巨大的脚本文件,我们希望可以将文件写入不同的文件模块。并且希望代码可以 重用,可以简单的引用和添加各种各样的依赖到我们的项目( 无论是菜单一样的 UI 组件还是 一个类似 jQuery 的 DOM 操作库)。不止是 JavaScript 我们希望可以用这种方式来组织, 他应该也包含 CSS,HTML...

乀兰陵笑笑生 1467

数学概念 | 旋转矩阵、欧拉角、四元数

旋转矩阵、欧拉角、四元数概念及相关运算;

NapoleonCoder的博客 772

5分钟搞定Nano-Banana图片编辑API对接:从Base64编码到生成图片全流程

本文详细介绍了如何快速对接Nano-Banana图片编辑API,基于gemini-2.5-flash-image-preview模型,从环境准备、Base64编码到API调用的全流程。通过实战示例和优化技巧,帮助开发者高效集成AI图片处理能力,提升产品竞争力。

dog123的博客 259

linner入门

linner1,linner是啥一个html5应用打包器2,为什么要用参考链接: https://ruby-china.org/topics/12507 http://ruby-china.org/topics/258023,怎么使用1, 下载安装linner: 安装ruby 安装RubyGems ruby setup.rb 安装DevKit ruby dk.rb init 随后

云胜的笔记 3758

PCB设计实践(三十二)PCB设计遇到大电流时的设计技巧

本文系统阐述10A至数百安培PCB设计的六大关键技术。载流能力优化强调铜厚选择(2-4oz)、线宽计算及并联结构;热管理提出散热孔阵列、铜基板嵌入等方案;布局策略包括功率分区和低阻抗路径设计;材料工艺推荐铝基板、陶瓷基板等高效解决方案;安全设计涵盖电气隔离与保护电路;验证环节需结合热仿真与实测。典型150A电机驱动板案例显示,通过4oz铝基板、散热孔阵列等设计,可实现温升≤45℃的稳定运行。核心在于铜厚线宽协同、主动散热及严格验证。

致力于硬件设计、人工智能知识及技术的分享,不断鞭策自己成长,共同进步! 4229

什么是linner

linner是什么,主要用于什么情况下,如何布置linner

MINmin521_的博客 541

RK3588嵌入式AI部署实战:从环境搭建到模型推理全链路

嵌入式AI部署涉及交叉编译、NPU驱动、模型量化与运行时环境等多个技术环节,其核心挑战在于软硬件版本矩阵的严格匹配。在边缘计算场景中,RK3588凭借6TOPS NPU算力成为热门平台,但环境搭建与模型转换的复杂性常导致部署效率低下。通过容器化工具链管理、量化参数对齐及多线程推理优化,可显著提升部署稳定性与推理性能。典型应用包括智能安防、工业质检与视频结构化分析。本文围绕RK3588的AI部署与环境搭建,系统梳理从系统烧录到板端推理的完整实践路径。

weixin_42520573的博客 282

ADS高级技巧:用DAC控件实现多变量参数扫描(以S参数和阻抗匹配为例)

本文深入解析了ADS软件中DAC控件的高级应用,指导用户如何利用其实现多变量参数扫描。通过构建支持多变量的MDF文件,并将其与原理图变量动态映射,可以高效完成如S参数和阻抗匹配等复杂场景的联合仿真与可视化分析,显著提升射频电路设计的效率和深度。

3a9bq4r8t2y的博客 253

python判断a是否是b的子串_java判断A字符串是否包含B字符串

Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建本文主要分三部分,分别是:后台核心业务逻辑.桥梁辅助控制和前台显示页面. 本Web开发环境综合了多种工具,包括Maven包管理与编译工具.Dubbo分布式服务框架.MyBatis数据持久化工具.Lin ...

weixin_36105745的博客 909

YOLO26改进策略【小目标改进】| 添加专用于小目标的检测层 附YOLOv1~YOLOv11的检测头变化详解

在目标检测领域,小目标检测一直是一个具有挑战性的问题。算法以其高效快速的特点受到广泛关注,然而在面对小目标时,仍存在一些局限性。本文将介绍如何在中添加小目标检测层,以提高对小目标的检测能力。原始模型结构如下: 二、有效特征层对应的检测头类别 2.1 P3/8 - small检测头 原始模型中的对应的检测头主要用于检测相对较小的目标。其特征图大小相对较大,空间分辨率较高。 适合检测尺寸大概在到像素左右的目标。 2.2 P4/16 - medium检测头 这个检测头对应的经过了更多的下采样操作,相比P3/

Limiiiing的博客 351

你所不知道的 CSS3 技巧

CSS3 高级技巧一、css 还能定义变量?二、css 实现渐变色三、css 旋转元素 Author:Gorit Date:2021/7/28 2021年发表博文: 19/50 19/30 一、css 还能定义变量? css 还可以定义 ““变量”?对,你没有听错!!!除了 scss 还有 less 这样的 css 预处理语言可以地宁弈半两以外,css 也可以变量了 如果你想要了解详情: MDN 中对 CSS 定义变量的解释 使用起来非常简单 :root { /* 定义变量,必须使用 -- 来表示前缀*

欢迎来到Gorit的博客 1434

【WorkBuddy专栏36】从踩坑到上线——WorkBuddy代码开发避坑指南与部署完全手册

【WorkBuddy专栏36】从踩坑到上线——WorkBuddy代码开发避坑指南与部署完全手册

AI人人懂 1064

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Nodejs,Express笔记

一、Node.js 1.简介: ​ node.js 是一个名词,不是技术,技术语言:JavaScript ​ 目标:让JavaScript可以操作服务器 ​ 场景:博客,聊天室 2.特点: Node.js------解决服务器高性能瓶颈问题 ==1.单线程:==仅仅使用一个线程,当用户连接,就触发一个内部事件,通过异步非阻塞I/O、事件驱动机制。在宏观上程序也是并行的。 ==2.非阻塞I/O:==异步操作数据库。 ==3.事件驱动:==通过“ 事件环 ”机制,处理事务。底层代码近半数都用于事件队列

qq_45073203的博客 192

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

CSS3 动画

复习笔记

weixin_43606967的博客 108

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linner和WebStorm前端开发环境搭建

Linner和WebStorm前端开发环境搭建

火雨(Nick) 9907

Spring+Dubbo+MyBatis+Linner分布式Web开发环境搭建(二)

2.Maven父工程mkhl-parent:     parent工程结构如下图:          1)parent工程的pom文件: [html] view plain copy  print? xml version="1.0"?>   project       xsi:schemaLocation="http://maven.apa

qi49125的博客 5707

Spring+Dubbo+MyBatis+Linner分布式Web开发环境(一)

本文承接我之前的博客《Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建》,以下我在对相关的Maven配置和详细的Spring配置文件进行简单介绍。        整个开发框架大体结构如下

qi49125的博客 4475

Spring+Dubbo+MyBatis+Linner分布式Web开发环境搭建

Spring+Dubbo+MyBatis+Linner分布式Web开发环境搭建               本文承接我之前的博客《Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建》,以下我在对相关的Maven配置和详细的Spring配置文件进行简单介绍。        整个开发框架大体结构如下:                1

火雨(Nick) 9593

RVM 安装Ruby Linner

curl -L get.rvm.io | bash -s stable   source ~/.rvm/scripts/rvm   rvm -v   sudo chown -R $(whoami) /usr/local   brew update   rvm install ruby-2.4.0   sudo gem install linner  

Java 小试 488

linner在ruby2.2.2下安装报错failed to build gem native extension,在1.9.2下安装又报错说nio4r说nio4r requires ruby ver

安装linner时候,先是用的ruby2.2.2安装的,结果就报错说failed to build gem native extension,网上查到http://stackoverflow.com/questions/22544754/failed-to-build-gem-native-extension-installing-compass,说是换成1.9的就好了,我换了1.9.2刚开始可以

步步错的博客 907

Linnx常用命令(持续更新)

系统信息 [root@VM_0_5_centos ~]# arch #显示机器的处理器架构 [root@VM_0_5_centos ~]# uname -m #显示机器的处理器架构 [root@VM_0_5_centos ~]# uname -r #显示正在使用的内核版本 [root@VM_0_5_cen...

爱吃鱼的小明的博客 1171
下一篇: CentOS下使用Docker安装Jenkins及配置详细教程
Hugh Pro
博客等级 码龄16年 6粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值