2015-08-27 46 views
-3

我是試圖讓使用Require.js一個單頁應用(SPA),但我有一個問題,這是不如何使請致電file.html各自js。該示例如下如何使用JavaScript和jQuery做水療和要求,JS

HTML

page1.html 
page2.html 
page3.html 

的js

events1.js 
events2.js 
events3.js 

我想知道如何調用每一個JS在各自的HTML,並事先,即還,如果這些JS文件,這呼叫執行

回答

1

這是一個require.js文件的基本結構:

`person.js` 
define(function() { // <==== don't need require, not importing any module(s) 

    // put whatever code you want here 
    var obj = { 
     name : 'John', 
     sayHello: function(){ 
      console.log('hello ' + this.name); 
     } 
    }; 

    // tell the module to return obj, or any other function/object you declared 
    return obj; 
}); 

然後,您可以使用此,無論你想,所以如果你想events2.js打招呼,你會寫這樣的:

`events2.js` 
define(function(require) { // <==== NEED require, importing a module 

    // notice, there's no .js at the end 
    // you can also use ../ for example to get parent directory 
    var person = require('./[pathToFile]/person'); 

    person.sayHello(); // hello John 
}); 

Require.js有一個陡峭的學習曲線,因爲你需要設置配置,這是不容易的,尤其是如果你正在縮小等。

編輯:

  1. 開始在你的HTML您main.js鏈接文件

的index.html

<script src="libs/require.js" data-main="main"></script> 
  • 你可以把你的配置在主文件中設置快捷方式和其他東西
  • main.js

    require.config({ 
        paths : { 
        jquery : 'libs/jquery', 
        jqueryUI : 'libs/jquery-ui', 
        etc... 
        } 
    }); 
    
    require(function() { 
        require(['app'], function(app) { 
        app.init(); // <==== this starts your website build 
        }); 
    }); 
    
  • 這是你建立你的網站
  • app.js

    define(function(require) { 
    return { 
        init : function() {   
         require('dev/menu').init(); 
         require('dev/content').init(); 
         require('dev/otherstuff').init(); 
        } 
        }; 
    }); 
    
    +0

    如何將其稱爲html文件 –

    +0

    @Pedro Miguel Pim ienta Morales - 見編輯。 – Data

    +0

    對不起,dev /,是文件夾,還是它是什麼? –