繁体   English   中英

RequireJS不加载jQuery插件

[英]Requirejs not loading a jquery plugin

我正在改进jquery-csv(jquery插件)的测试。

我目前可以从命令行运行一整套测试(即mocha / chai),而没有任何问题。 我在弄清楚如何使用require.js加载依赖项时遇到问题,因此我可以扩展测试运行器以与mochaphantomjs测试一起使用。

用于加载RequireJS的HTML:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Mocha Tests</title>
  <link rel="stylesheet" href="../node_modules/mocha/mocha.css" />
</head>
<body>
  <div id="mocha"></div>
  <script data-main="scripts/app" src="scripts/require.js"></script>
</body>
</html>

RequireJS模块:

require.config({
  baseUrl: '/',
  paths: {
    'jquery'        : '../../node_modules/jquery/dist/jquery',
    'jquery-csv'    : '../../src/jquery.csv',
    'mocha'         : '../../node_modules/mocha/mocha',
    'chai'          : '../../node_modules/chai/chai',
  },
  shim: {
    'mocha': { 
      exports: 'mocha'
    },
    'chai': {
      exports: 'chai'
    },
    'jquery-csv' : {
      deps: ['jquery'],
      exports: 'jQuery.fn.csv',
    }
  },
});

define(function(require) {
  require('jquery');
  require('jquery-csv');

  // chai setup
  var chai = require('chai');
  var expect = chai.expect();
  var should = chai.should();

  // mocha setup
  var mocha = require('mocha');
  mocha.setup('bdd');
  mocha.reporter('html');
  mocha.bail(false);

  require(['test.js'], function(require) {
    if (window.mochaPhantomJS) {
      mochaPhantomJS.run();
    }
    else {
      mocha.run();
    }
  });
});

注意:define函数使用的是CommmonJS样式。

我得到的错误是:

未捕获的错误:尚未为上下文_加载模块名称“ ../src/jquery.csv.js”。 使用require([])

AFAIK,Shim应该通过先加载jQuery并将插件附加到此插件来解决此问题。

我对RequireJS很陌生,有什么明显的我想念的东西吗?

尝试在以下位置添加“ jquery-csv”作为依赖项:

require(['test.js', 'jquery', 'jquery-csv'], function(require, $) {
    if (window.mochaPhantomJS) {
       mochaPhantomJS.run();
    }
    else {
      mocha.run();
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM