Dojo Build 简介

时间: 2019-11-04阅读: 293标签: 工具

Dojo 提供了一套强大的命令行工具,让构建现代应用程序更加简单。

可以自动创建包(Bundle),可以使用 PWA 在本地缓存文件,可以在构建阶段渲染初始的 HTML 和 CSS,也可以使用 Dojo 的 CLI 工具和.dojorc 配置文件按条件忽略一些代码。或者脱离(eject) Dojo 的构建工具,直接使用底层的构建工具以做到完全掌控。

功能描述
Dojo CLI模块化的命令行工具,用于快速启动新的应用程序、创建部件和运行测试等。
开发服务器开发时使用的本地 web 服务器,用于监听文件系统,当检测到变化时会自动重新构建。也支持 HTTPS 和设置代理。
包(bundle)通过减少用户需要下载的内容和优化用户实际需要的应用程序交互时间(Time-to-Interactive)以提高用户体验。可以根据路由自动创建包,或者在配置文件中明确定义包。
按条件纳入代码通过 .dojorc 配置文件可以静态方式关闭或打开使用 dojo/has 定义的功能。由于这些配置而无法访问到的代码分支会被自动忽略掉。这就很容易为特定目标(如 IE11 或 mobile)提供特定功能,而不会影响包的大小。
PWA 支持渐进式 Web 应用程序通过缓存内容甚至脱机工作,创建更快、更可靠的用户体验。通过配置文件或者在代码中定义,dojo 很容易创建一个 service work,并将其构建为应用程序的一部分。
构建时渲染在构建时渲染路由以生成初始的 HTML 和 CSS。在构建时渲染,Dojo 可以节省出初始渲染的成本,创建出一个响应性更高的应用程序,且不会引入额外的复杂性。


基本用法

Dojo 提供了一组 CLI 命令,辅助创建和构建应用程序。本指南假设已全局安装 @dojo/cli,且在项目中安装了 @dojo/cli-build-app 和 @dojo/cli-test-intern。如果项目是使用 @dojo/cli-create-app 初始化的,那么这些依赖应该已经存在。


构建

Dojo 的 CLI 工具支持多种构建目标或 mode。在 dojo create app 为 package.json 生成的几个脚本(scripts)中可看到所有模式。

运行以下命令,创建一个为生产环境优化过的构建。

> dojo build --mode dist

此次构建使用 dist 模式创建应用程序包,并将结果输出到 output/dist 目录中。


运行服务和监听变化

当在 dev 或 dist 模式下运行时,可以使用 --serve 标记启动一个 web 服务器。应用程序默认运行在 9999 端口上。可以使用 --port 标记修改端口。使用 --watch 标记,Dojo 的构建工具也可以监听应用程序的变化并自动重新构建。 生成的 package.json 文件中包含 dev 脚本,它使用这些标记运行应用程序的构建版本,并监听到磁盘上的文件发生变化后会自动重新构建。

> dojo build --mode dev --watch file --serve

应用程序也会提供 source map。这样调试器就可以将构建的 JavaScript 代码映射回位于 src/ 文件夹下原本的 TypeScript 代码上。


测试

Dojo 使用 Intern 运行单元和功能测试。T运行 tests/unit 中单元测试的最快方式,是使用新建 Dojo 应用程序时创建的 NPM 脚本。

命令行  

# execute unit tests
npm run test:unit
# execute functional tests locally using headless Chrome and Selenium
npm run test:functional


支持的浏览器

Dojo 是一个持续演变的框架。默认情况下,发布的 dojo 版本会支持最新浏览器的最近两个版本。Dojo 要跨浏览器实现标准功能,其所需的 polyfill 都是通过 @dojo/framework/shim 按需提供的。要支持 IE11,需要打开 --legacy 标记。


Dojo 配置

可在 .dojorc 中添加其它配置选项。这些选项通常通过命令行扩展可用的设置,并支持更高级的功能,如国际化、代码拆分、PWA 清单和忽略代码等。 .dojorc 文件中包含一个 JSON 对象,可以为能在 dojo 命令行工具上运行的任何命令配置信息。在配置对象中为每个命令分配一个节点,可在其中存储配置信息。

{
	"build-app": {
		"pwa": {
			"manifest": {
				"name": "My Application",
				"description": "My amazing application"
			}
		}
	},
	"test-intern": {},
	"create-widget": {
		"tests": "tests/unit"
	}
}

本示例中,@dojo/cli-build-app、@dojo/cli-test-intern 和 @dojo/cli-create-widget 三个 CLI 命令模块各对应一个节点。配置 总是 分层的,按照 command => feature => configuration 的顺序排列。  

翻译自:https://github.com/dojo/framework/blob/master/docs/en/building/introduction.md


站长推荐

1.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入

3.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/6269

掌握 TS 这些工具类型,让你开发事半功倍

TypeScript 提供了为类型注解设置别名的便捷语法,你可以使用 type SomeName = someValidTypeAnnotation 来创建别名,比如:

node_modules干什么的?

node_modules是安装node后用来存放用包管理工具下载安装的包的文件夹。比如webpack、gulp、grunt这些工具。在node.js中模块与文件是一一对应的,也就是说一个node.js文件就是一个模块。

JavaScript工具函数大全

为元素添加on方法,为元素添加trigger方法,转义html标签,跨浏览器绑定事件

国内都有哪些免费的图床工具

七牛云是国内企业级云服务商,注册认证后有10G永久免费空间,每月10G国内和10G国外流量,速度相当快,七牛云是国内专业CDN服务商,插件支持比较多,有免费ssl证书,但https流量收费。同时可以自定义域名,系统会默认分配测试域名,测试域名只能用20天

推荐6款好用、免费的远程控制软件【远程管理工具】

远程办公就需要远程连接的工具,当然,你说你用VPN那也是没有毛病的。远程桌面工具也极大的方便了我们进行远程技术支持、远程办公的便利性,但是呢,很多时候,有些工具不支持电脑或者手机操作

LWN:内核开发者的更好的工具

从许多角度来说,Linux kernel这个项目在用的工具都太过时了,远远落后于现代的孩子们经常用的工具。kernel的工作流程在过去几年表现都很好,不过已经有些迹象表明它不会永远保持不变

程序开发必备工具推荐

工欲善其事必先利其器,作为程序员不光熟练掌握某种语言技能,相关的工具的运用和选择也相当重要,好的工具让你事半功倍,现在我向码农推荐一下工具

Mac上程序员很喜欢用10大开发软件

走进BAT,你们会发现,他们都喜欢使用Mac,Mac作为一个创作工具,一直深受程序员,教授,高科技行业从业者的喜欢。Mac及佳的稳定性,也是用户喜欢的一个主要原因,Mac可以让你专注于创作

vue时间处理工具momentjs

自己写的时间处理工具类有兼容性, 网上找都处理很多可靠的很少,几个项目被坑惨了,有时候还要经常处理获取月份啊周啊什么的bug 实在多,自己写实在麻烦还考虑不全

程序员必备的学习工具

学习技术过程我们经常需要使用搜索引擎来检索资料,国内常用的也就是某度了。当然有条件的话,搜索引擎首先还是推荐使用 Google,如果没办法使用,可以使用以下几个作为备用:

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广