我有兩個文件todosController.js和index.html。我試圖訪問一個元素,並在javascript控制檯中查看它的輸出。這裏是代碼:錯誤:無法找到模塊'node-jsdom
<!--index.html:-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TodosList</title>
</head>
<body>
<h1>Todos List</h1>
<button id="displayTodosButton">Display Todos</button>
<!--index.html is linked to javascript file todosController.js-->
<script src="todosController.js"></script>
</body>
</html>
下面是JavaScript代碼:
//todosController.js
var jsdom = require("node-jsdom");
var fs = require("fs");
var jquery = fs.readFileSync("./jquery.js", "utf-8");
jsdom.env({
url: "http://news.ycombinator.com/",
src: [jquery],
done: function (errors, window) {
var $ = window.$;
console.log("HN Links");
$("td.title:not(:last) a").each(function() {
console.log(" -", $(this).text());
});
}
});
let markup = fs.readFileSync('foo.html');
let doc = jsdom(markup, {});
function showData() {
elem = doc.getElementById('TodosText').value;
}
showData();
我使用Webstorm作爲IDE.I試圖在以下一些問題的答案特別建議安裝NPM jsdom但問題是還是一樣。
以下是錯誤:
module.js:538
throw err;
^
Error: Cannot find module 'node-jsdom'
at Function.Module._resolveFilename (module.js:536:15)
at Function.Module._load (module.js:466:25)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at Object.<anonymous>
(/Users/muhammadtayyabsaeed/WebstormProjects/Todo
List/js/todosController.js:89:13)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
我很感激你的反應。
你在瀏覽器中運行代碼的東西嗎? – Taurus
'js文件夾,裏面有todosController.js.'你說你有js文件夾,但是我在'src'裏看不到'? –
與控制檯,你的意思是瀏覽器控制檯或js /節點控制檯? – marmeladze