0
jsdom을 사용하여 로컬 javascript를로드하려고합니다. 이제 jsdom을 "__dirname /../ public"에서 javascript를로드 할 수 있는지 궁금합니다. 누군가 나를 도울 수 있습니까?Node.js jsdom은 문서 루트를 설정합니다
내 현재 코드는 다음과 같습니다
var fs = require('fs');
var jsdom = require('jsdom');
jsdom.defaultDocumentFeatures = {
FetchExternalResources: ["script"],
ProcessExternalResources: ["script"],
MutationEvents : '2.0',
QuerySelector : false
};
exports.test = function(req, res) {
var html = fs.readFileSync(__dirname+'/../public/html/lame.html');
var document = jsdom.jsdom(html, null, {documentRoot: __dirname+'/../public/'});
var window = document.createWindow();
window.addEventListener('load', function() {
//window.$('script').remove();
//window.$('[id]').removeAttr('id');
res.send(window.document.innerHTML);
window.close();
});
}
간단한 HTML 페이지는 다음과 같습니다 저도 같은 문제로 실행하고 작동있어
<html>
<head>
<title id="title">bum</title>
<script type="text/javascript" src="/javascripts/jquery.min.js"></script>
<script type="text/javascript" src="/javascripts/stuff.js"></script>
</head>
<body>
<h1>hello world</h1>
<h2 id="bam">XXX</h2>
</body>
</html>