[英]Moving javascript file to external reference in Node.JS called HTML
我在Node.JS服務器上托管的html頁面中有一些javascript ajax代碼。
我想將其移至特定的.js側文件以進行調試,但不知道如何進行調試。 這里的解決方案不起作用。
似乎是由於范圍,但不確定如何解決。
<script>
$(document).ready(function() {
$('#mainTable').DataTable( {
"ajax": "jsonData",
"columns": [
{ "data": "level" },
{ "data": "value" },
{ "data": "description" }
]
} );
} );
</script>
編輯
這樣做的原因:
對於#3,請參閱以下示例,盡管路徑正確,但require無效:
<script>
window.onload = function() {
var a = document.getElementById("books");
a.onclick = function() {
var utils = require('./../controllers/utils.js');
var filteredData = utils.filterJsonData(table, "HighLevel");
}
</script>
先感謝您
在您的html頁面中添加以下內容。
<script src="./somename.js"></script>
<script src="./../controllers/utils.js"></script>
在你的somename.js中
$(document).ready(function(){
$('#mainTable').DataTable({
"ajax": "jsonData",
"columns": [
{ "data": "level" },
{ "data": "value" },
{ "data": "description" }
]
});
$('a#books').click(function(){
//Where is table coming from?
var filteredData = utils.filterJsonData(table, 'HighLevel');
});
});
至於更容易在單獨的js和單個html頁面之間進行調試,則沒關系。 在瀏覽器中進行調試應該花費相同的精力。
require僅在可在服務器端js代碼中使用的nodejs中有效。 您是否正在使用某些在瀏覽器中提供require的庫?
將當前位於script
標記中的代碼移動到一個單獨的文件,例如side.js
:
$(document).ready(function() {
$('#mainTable').DataTable( {
"ajax": "jsonData",
"columns": [
{ "data": "level" },
{ "data": "value" },
{ "data": "description" }
]
} );
} );
將腳本標記更改為
<script source="./side.js"></script>
從您嘗試在HTML內部執行Node.js的其他一些代碼( require...
)來看。 Node.js在服務器端執行; HTML中的所有Javascript都將在客戶端(瀏覽器)上執行。
預計到達時間:現在,您已經更新了代碼,可以看到,是的,您正在嘗試在HTML內使用Node.js。 它不起作用-您require
在用戶的瀏覽器內部。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.