热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Omi道理环境搭建

环境搭建Omi框架运用Webpack+ES6的体式格局去开辟;运用karma+jasmine来作为Omi的测试东西。Karma引见Karma是一个基于Node.js的JavaScr

环境搭建

Omi框架运用 Webpack + ES6 的体式格局去开辟;运用karma+jasmine来作为Omi的测试东西。

Karma引见

Karma是一个基于Node.js的Javascript测试实行历程管理东西(Test Runner)。该东西可用于测试统统主流Web浏览器,也可集成到CI(Continuous integration)东西,也可和其他代码编辑器一同运用。这个测试东西的一个壮大特征就是,它能够监控(Watch)文件的变化,然后自行实行。然则集成到travis ci要把singleRun设置成true,让其只实行一遍。

Jasmine引见

Jasmine 是一款 Javascript BDD(行动驱动开辟)测试框架,它不依靠于其他任何 Javascript 组件。它有清洁清楚的语法,让您能够很简单的写出测试代码。

开辟依靠包

在package.json中,有以下设置:

"devDependencies": {
"babel-core": "^6.0.20",
"babel-loader": "^6.0.1",
"babel-preset-es2015": "^6.0.15",
"node-libs-browser": "^0.5.3",
"webpack": "^1.14.0",
"jasmine-core": "^2.5.2",
"karma": "^1.3.0",
"karma-chrome-launcher": "^2.0.0",
"karma-jasmine": "^1.1.0",
"karma-webpack": "^1.8.1"
}

  • ES6+相干依靠有babel-core、babel-loader和babel-preset-es2015

在webpack.config.js中设置js文件运用babel-loader编译。

loaders: [
{
loader: 'babel-loader',
test: /\.js$/,
query: {
presets: 'es2015',
}
}
]

  • webpack相干依靠有node-libs-browser和webpack

  • 其他都是单元测试相干依靠

    注重,这里运用了karma-webpack。由于运用Omi框架支撑ES6+和ES5,运用karma-webpack是为了在单元测试内里运用ES6+的import和Class等语法。

在karma.conf.js中设置webpack:

webpack: webpackConfig,
webpackMiddleware:{
noInfo:false
},
plugins: [
'karma-webpack',
'karma-jasmine',
'karma-chrome-launcher'
]

细致设置看test目次下的karma.conf.js和webpack.test.config.js便可。

注重,karma.conf.js须要设置

// if true, Karma captures browsers, runs the tests and exits
singleRun: true,

不然,travis ci剧本实行的时刻不会中缀致使实行超时非常。

npm 剧本

"scripts": {
"build": "webpack -w",
"test": "karma start test/karma.conf.js",
"hello": "webpack -w",
"todo": "webpack -w"
}

个中:

  • npm run build : 天生dist目次的omi.js文件

  • npm run test : 实行单元测试

  • npm run hello : 编译hello的demo

  • npm run todo : 编译todo的demo

在webpack.config.js中,会依据 process.env.npm_lifecycle_event去设置差别的进口文件。所以同样是实行webpack -w,实行效果能够不一样。

来看下build的相干webpack设置:

if(ENV === 'build'){
cOnfig= {
entry: {
omi: './src/index.js'
},
output: {
path: 'dist/',
library:'Omi',
libraryTarget: 'umd',
filename: '[name].js'
},

这里把libraryTarget设置成了umd,webpack会协助我们build出umd的Omi。

假如是打包demo(npm run hello 和 npm run todo)的话,会进入下面的前提推断:

else {
config.entry = './example/' + ENV + '/main.js';
config.output.path = './example/' + ENV + '/';
}

会去example下对应的目次查找main.js作为webpack进口文件。

这里能够看到,我们不仅用webpack build出Omi框架,也运用webpack build统统demo。
细致设置参考webpack.config.js的设置。

参考文档

  • http://www.cnblogs.com/cqhaibin/p/5867125.html

  • https://karma-runner.github.io/latest/intro/installation.html

  • https://karma-runner.github.io/latest/intro/configuration.html

招募设计

  • Omi的Github地点https://github.com/AlloyTeam/omi

  • 假如想体验一下Omi框架,请点击Omi Playground

  • 假如想运用Omi框架,请浏览 Omi运用文档

  • 假如想一同开辟完美Omi框架,有更好的解决方案或许思绪,请浏览 从零一步步打造web组件化框架Omi

  • 关于上面的两类文档,假如你想取得更佳的浏览体验,能够接见Docs Website

  • 假如你懒得搭建项目脚手架,能够尝尝Scaffolding for Omi,npm装置omis便可

  • 假如你有Omi相干的题目能够New issue

  • 假如想越发轻易的交换关于Omi的统统能够到场QQ的Omi交换群(256426170)

《Omi道理-环境搭建》


推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 如何更改电脑系统的自动校时服务器地址?
    本文介绍了如何通过注册表编辑器更改电脑系统的自动校时服务器地址。通过修改注册表中的数值数据或新建字符串数值的方式,可以将默认的时钟同步服务器地址更改为自己所需要的域名或IP地址。详细步骤包括双击时间区域,点击internet时间,勾选自动校正域名设置定时等操作。 ... [详细]
  • JavaScript简介及语言特点
    本文介绍了JavaScript的起源和发展历程,以及其在前端验证和服务器端开发中的应用。同时,还介绍了ECMAScript标准、DOM对象和BOM对象的作用及特点。最后,对JavaScript作为解释型语言和编译型语言的区别进行了说明。 ... [详细]
author-avatar
mobiledu2502855777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有