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

为什么我需要为karma配置指定所有文件,即使它们加载了requirejs

如何解决《为什么我需要为karma配置指定所有文件,即使它们加载了requirejs》经验,为你挑选了1个好方法。

我有以下目录结构:

--app
  |---dots
  |    |---some.js
  |
  |---entry.js
  |---bootstrap.js
  |---karma.conf.js
  |---test-main.js
  |---test
      |---sampleSpec.js

这是我的sampleSpec依赖项:

define(["app/bootstrap", "app/dots/some"], function () {}]

所以,按照我的理解我加载bootstrapsome使用requirejs文件到浏览器中.但是,根据我是否dots/*karma.conf.js文件中指定文件夹,karma服务器成功或无法解析dots/some.js文件.如果我指定以下我的意思是pattern: 'app/**/*.js'karma.conf.js:

files: [
  'test-main.js',
  {pattern: 'app/**/*.js', included: false},
  {pattern: 'test/*Spec.js', included: false}
],

dots/some.js文件被加载到浏览器中,如果我指定这样的pattern: 'app/*.js'业力服务器返回404- 文件未找到.为什么会这样?karma如果我使用它加载它,为什么要关心路径requirejs



1> MarcoL..:

当你解雇业力时,业力的作用是:

它做了一些预处理工作

它创建了一个网页,您的网站资源已加载(css,js等...)

它创建了一个服务器来为您的资产提供服务

网络服务器需要知道您拥有自己的资产的位置,以及是否要直接从页面提供服务或稍后加载它们.

在您的karma配置文件中,您有几个选项可以配置您要如何加载它们:

...
files: [
   'test-main.js',
   {pattern: 'app/**/*.js', included: true, watched: false, served: true},
   ...
],

proxies: {
  '/img/': 'http://localhost:8080/base/test/images/'
}

files数组中,您可以放置​​要包含,监视和提供的所有资源.

如果您想要使用自定义网址(假设您的应用中有特定路线),您可以告诉业力如何将该自定义网址反映到静态网址,或者只是为了映射它(假设您使用的是第三方服务) ).

如果没有映射文件,那么业力就无法提供服务,因此当您需要它时,您的请求将会有HTTP 404响应.
Karma还接受regexp模式(迷你匹配字符串)作为路由 - 如文档中所指定 - 因此您app/**/*.js将匹配app任何级别内的任何js文件,而app/*.js只会严格匹配文件app夹内的JS文件.

如果是代理,假设您有兴趣提供图像,则karma会设置一个静态服务器,用于http://localhost:8080/base映射项目根目录.

有关完整说明,请查看业力文档.


推荐阅读
author-avatar
aijunli2502898197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有