1

我正在学习require.js。我这里有问题。我想在我的项目中引用 knockout.js。但是全名(knockout-xxx.js)太长了。我希望名字只是 ko 像 define(['ko'], function(ko){}); 我的文件夹结构就像

Scripts
 - knockout-x-x-x.js
 - main.js (configuration file)
 - app
   - view
     - view.js

我的配置文件看起来像

require.config({
  baseUrl: '/Scripts',
  shim: {
    'jquery': { 'exports': 'jquery' },
    'ko': { 'exports': 'ko' }
  },
  paths: {
    "jquery": "/Scripts/jquery-2.0.1.min",
    "ko": "/Scripts/knockout-2.2.1",
  },
  priority: [
    'jquery'
  ]
});

我总是收到一个错误,说找不到“Scripts/ko.js”。有人可以告诉我我在这里做错了什么吗?

干杯

4

2 回答 2

0

您是否尝试过从文件名和路径中删除“-2.2.1”?

于 2013-06-04T01:33:09.060 回答
0

您的 baseUrl 是 /Scrips,但是在您的路径部分中,Ko 的 url 路径是

/Scripts/knockout2.1.1,

require 适用于相对路径,所以它无法找到 /Scripts/Scripts/ko,请尝试仅使用文件名在您的路径中。因为主要和淘汰文件处于同一级别。

于 2013-06-04T04:44:07.393 回答