Davis.js作为AMD模块

Davis.js as AMD module?

本文关键字:模块 AMD 作为 js Davis      更新时间:2023-09-26

我可以使用davisjs作为带有requirejs的AMD模块吗?我试过了,但也许我忘了require-config中的一些内容?

requirejs([
   "jquery",
   "davis"
],
function   ($, routing) {
    var app = routing(function () {
        this.get('/welcome/:name', function (req) {
            alert("Hello " + req.params['name']);
        });
    });
}

这项工作:

var app = Davis(function () {..});

听起来好像有人有缺垫片的情况。您需要配置RequireJS以将非AMD兼容库调整为AMD模块,如下所示:

requirejs.config({
  paths: {
    Davis: 'script/davis'
  },
  shim: {
    Davis: {
      exports: 'Davis'
    }
  }
});
require([
  "Davis"
], function (davis) {
  console.log("Davis?", davis);
});

RequireJS文档中的更多信息


直接调用Davis()是有效的,因为它在全局范围内可用;这不是";注册的";作为AMD模块:这就是为什么当RequireJS请求时它是undefined