0

別のファイルで宣言/定義されたオブジェクトを初期化しようとすると (ただし、requireJS 経由で読み込まれたと思います) ReferenceError: myTemplates is not defined、. と の 2 つのファイルがmain.jsありtemplates.jsます。

(main.jsここからオブジェクトをロードしてtemplates.js初期化したいところです。

define(["jquery-ui", "templates"], function () {

  var templates = new myTemplates();     // gives ReferenceError
  alert( "Never reached this call" + $().jquery);

  $(document).ready(function() {
    alert( "Never reached this call " + $().jquery);
  });

});

では、次のように名前が付けられた関数で名前が付けtemplates.jsられたオブジェクトがありますmyTemplatestest

define(["jquery-ui"], function () {
  alert( "This alert is raised, proving that jQuery/jQuery UI is loaded in templates.js " + $().jquery);

  function myTemplates(){
    this.test = function(){
      alert('test');
      return false;
    };
  };
});

という名前のrequireJSの構成ファイルについてはrequireconfig.js

requirejs.config({
  "baseUrl": "scripts/lib",
  "paths": {
    "app": "../app",
    "jquery" : [
        "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min", 
        "jquery-1.10.2.min"],
    "jquery-ui" : [
        "//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min",
        "jquery-ui-1.10.3.min"],
    "templates" : "../app/templates/templates"
  },

  shim: {
    "jquery-ui": {
       exports: "$",
       deps: ["jquery"]},
  }
});
requirejs(["app/main", "templates"]);

jQuery と jQuery UI が に正しく読み込まれていることは確かですが、 で初期化するtemplates.js理由がわかりません。誰でも見て、私を助けてください。ありがとうございました。ReferenceErrormyTemplatesmain.js

psファイル/フォルダーのGithubアップロードは、誰かがフォルダー/ファイル階層を見たい場合に備えてここにあります.

4

1 に答える 1