首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有为"framework:requirejs“提供程序!(解析: framework:requirejs)

没有为"framework:requirejs“提供程序!(解析: framework:requirejs)
EN

Stack Overflow用户
提问于 2015-07-07 10:33:11
回答 2查看 4.3K关注 0票数 5

我已经下载了this karma-jasmine sample code,我用谷歌搜索了很多,看起来它肯定能用。

但当我奔跑时

代码语言:javascript
复制
   karma start karma.conf.js

它给出了这个错误:

代码语言:javascript
复制
 /Users/xe4me/www/html/apache/requirejs-     karma/node_modules/karma/node_modules/di/lib/injector.js:9
  throw error('No provider for "' + name + '"!');
        ^
 Error: No provider for "framework:jasmine"! (Resolving: framework:jasmine)
at error (/Users/xe4me/www/html/apache/requirejs-karma/node_modules/karma/node_modules/di/lib/injector.js:22:68)
at Object.parent.get (/Users/xe4me/www/html/apache/requirejs-karma/node_modules/karma/node_modules/di/lib/injector.js:9:13)
at get (/Users/xe4me/www/html/apache/requirejs-karma/node_modules/karma/node_modules/di/lib/injector.js:54:19)
at /Users/xe4me/www/html/apache/requirejs-karma/node_modules/karma/lib/server.js:29:14
at Array.forEach (native)
at start (/Users/xe4me/www/html/apache/requirejs-karma/node_modules/karma/lib/server.js:28:21)
at invoke (/Users/xe4me/www/html/apache/requirejs-karma/node_modules/karma/node_modules/di/lib/injector.js:75:15)
at Object.exports.start (/Users/xe4me/www/html/apache/requirejs-karma/node_modules/karma/lib/server.js:307:12)
at Object.exports.run (/Users/xe4me/www/html/apache/requirejs-karma/node_modules/karma/lib/cli.js:220:27)
at requireCliAndRun (/usr/local/lib/node_modules/karma-cli/bin/karma:44:16)

我也做了下面的方法,但没有成功:

代码语言:javascript
复制
 npm install karma-requirejs --save-dev

我做的每件事都是正确的,但仍然没有运气,还有一些问题看起来和我的一样,我尝试了所有的答案,但仍然没有运气;

任何帮助都将不胜感激

谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-06-02 23:13:13

你需要requirejs & karma-requirejs

代码语言:javascript
复制
npm install requirejs --save-dev
npm install karma-requirejs --save-dev

在此之后,请确保按照"Run Karma with Require.js“中所述配置Karma。

最小工作示例(由 karma init**)**生成

karma.conf.js

代码语言:javascript
复制
module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', 'requirejs'],
    files: [
      {pattern: 'dest/main/**/*.js', included: false},
      {pattern: 'test/**/*Spec.js', included: false},
      'test-main.js'
    ],
    exclude: [],
    preprocessors: {},
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: false,
    browsers: ['Chrome'],
    singleRun: false,
    concurrency: Infinity
  })
};

test-main.js

代码语言:javascript
复制
var allTestFiles = [];
var TEST_REGEXP = /(spec|test)\.js$/i;

// Get a list of all the test files to include
Object.keys(window.__karma__.files).forEach(function(file) {
  if (TEST_REGEXP.test(file)) {
    // Normalize paths to RequireJS module names.
    // If you require sub-dependencies of test files to be loaded as-is (requiring file extension)
    // then do not normalize the paths
    var normalizedTestModule = file.replace(/^\/base\/|\.js$/g, '');
    allTestFiles.push(normalizedTestModule);
  }
});

require.config({
  // Karma serves files under /base, which is the basePath from your config file
  baseUrl: '/base',

  // dynamically load all test files
  deps: allTestFiles,

  // we have to kickoff jasmine, as it is asynchronous
  callback: window.__karma__.start
});
票数 7
EN

Stack Overflow用户

发布于 2019-08-02 22:10:48

尝试在karma.conf.js的插件数组中添加"karma-requirejs“

代码语言:javascript
复制
...

plugins: [             
            'karma-jasmine',                      
            'karma-chrome-launcher',                
            'karma-jasmine-html-reporter',
            'karma-webpack',
            'karma-requirejs'
        ],


// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false, 

...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31258802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档