Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Problema con require.js
Forum - Javascript - Problema con require.js

Avatar
giannino1995 (Normal User)
Newbie


Messaggi: 1
Iscritto: 22/04/2015

Segnala al moderatore
Postato alle 21:43
Mercoledì, 22/04/2015
Ciao a tutti,
Da un testo di javascript che sto leggendo ho trovato questi codici:
Codice sorgente - presumibilmente Php

  1. define(['ch04/amd1', 'ch04/amd2'],
  2. function myModule(amd1, amd2) {
  3. var testResults = {
  4. test1: amd1.test(),
  5. test2: amd2.test()
  6. },
  7. // Define a public API for your module:
  8. api = {
  9. testResults: function () {
  10. return testResults;
  11. }
  12. };
  13. return api;
  14. });


Codice sorgente - presumibilmente VB.NET

  1. require(['ch04-amd'], function (amd) {
  2. var results = amd.testResults();
  3. test('AMD with Require.js', function () {
  4. equal(results.test1, true,
  5. 'First dependency loaded correctly.');
  6. equal(results.test2, true,
  7. 'Second dependency loaded correctly.');
  8. });
  9. });


Il risultato dovrebbe essere questo:
First dependency loaded correctly.
Second dependency loaded correctly.
ma l'autore è molto frettoloso e dimentica di scrivere sul testo tutto quello che serve per vedere lo script funzionare. Frettoloso o da tutto quanto per scontato, io questo non lo so però per me non è assolutamente scontato.
Per vedere funzionare questo script ho implementato require.js e ho scritto gli altri file mancanti ma il file main.js proposto dal testo non sembra funzionare. Il test() di qunit in pratica non viene eseguito e results.test1 risulta essere undefined. Riporto qui di seguito il mio codice:
script_libro_eric_elliott.php
Codice sorgente - presumibilmente Javascript

  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <title>Utilizzo della libreria Require.js</title>
  5.         <meta charset="UTF-8">
  6.         <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.         <!--Prima viene chiamato require.js e poi configurazione.js-->
  8.         <script data-main="javascript/configurazione.js"
  9.                 src="javascript/librerie/require.js">
  10.         </script>
  11.     </head>
  12.     <body>
  13.         <section>
  14.             <h1 id="qunit-header">QUnit Test Suite</h1>
  15.             <h2 id="qunit-banner"></h2>
  16.             <div id="qunit-testrunner-toolbar"></div>
  17.             <h2 id="qunit-userAgent"></h2>
  18.             <ol id="qunit-tests"></ol>
  19.         </section>
  20.         <div>Utilizzo della libreria Require.js</div>
  21.         <div id="contenitore"></div>
  22.     </body>
  23. </html>


javascript\moduli\script_libro.js
Codice sorgente - presumibilmente Php

  1. define(['javascript/moduli/amd1.js', 'javascript/moduli/amd2.js'], function myModule(amd1, amd2) {
  2.     var testResults = {
  3.         test1: amd1.test(),
  4.         test2: amd2.test()
  5.     },
  6.     api = {
  7.         testResults: function () {
  8.             return testResults;
  9.         }
  10.     };
  11.     return api;
  12. });


javascript\moduli\main.js (quello che da problemi)
Codice sorgente - presumibilmente VB.NET

  1. require(['javascript/moduli/script_libro.js'], function (amd) {
  2.     var results = amd.testResults;
  3.     test('AMD with Require.js', function () {
  4.         equal(results.test1, true,
  5.                 console.log('First dependency loaded correctly.'));
  6.         equal(results.test2, true,
  7.                 console.log('Second dependency loaded correctly.'));
  8.     });
  9. });


javascript\configurazione.js
Codice sorgente - presumibilmente Javascript

  1. /* global require */
  2. require.config({
  3.     baseUrl: 'javascript/librerie',
  4.     urlArgs: "bust=" + (new Date()).getTime(),
  5.     paths: {
  6.         CartellaModuli: '../moduli'
  7.     },
  8.     shim: {
  9.         script_libro: {
  10.             deps: ['qunit', 'jquery']
  11.         }
  12.     }
  13. });
  14. require(['CartellaModuli/main']);


javascript\moduli\amd1.js
Codice sorgente - presumibilmente Php

  1. define("javascript/moduli/amd1.js", ["jquery", "qunit"], function () {
  2.     var test = {
  3.         test: console.log("Script amd1.js funzionante correttamente!")
  4.     },
  5.     api = {
  6.         test: function () {
  7.             return test;
  8.         }
  9.     };
  10.     return api;
  11. });


javascript\moduli\amd2.js
Codice sorgente - presumibilmente Php

  1. define("javascript/moduli/amd2.js", ["jquery", "qunit"], function () {
  2.     var test = {
  3.         test: console.log("Script amd2.js funzionante correttamente!")
  4.     },
  5.     api = {
  6.         test: function () {
  7.             return test;
  8.         }
  9.     };
  10.     return api;
  11. });


Ho già provato centinaia di soluzioni con la speranza di leggere in console le seguenti stringhe:

First dependency loaded correctly.
Second dependency loaded correctly.

ma non c'è stato verso, ora sono divorato dal nervoso e deluso.

Ragazzi c'è qualcuno che potrebbe gentilmente aiutarmi?

Ultima modifica effettuata da giannino1995 il 22/04/2015 alle 22:24
PM Quote
Avatar
mikiprogrammer (Normal User)
Pro


Messaggi: 65
Iscritto: 02/04/2015

Segnala al moderatore
Postato alle 20:55
Giovedì, 07/05/2015
Mi dispiace, ma non me ne intendo di JavaScript

PM Quote