gpt4 book ai didi

node.js - 如何使用 NodeJS 文件正确渲染自定义元素?

转载 作者:太空宇宙 更新时间:2023-11-03 22:05:08 25 4
gpt4 key购买 nike

我是使用自定义元素和 Node.js 的新手,因此我正在构建一个简单的服务器和组件示例。问题是,当我导入组件时,浏览器因错误 400 错误请求而崩溃,并尝试加载组件,但如您所见,多次重复导入路径。

这是我的服务器文件:

//server.js
var http = require('http');
var fs = require('fs');

function onRequest(request, response){
response.writeHeader(200, {"Content-Type": "text/html"});
fs.readFile('./index.html',null,function(error, data){
if(error){
response.writeHead(404);
response.write('File Not Found');
}
else{
response.write(data);
}
response.end();
});
}

http.createServer(onRequest).listen(8001);

这是我的index.html:

<!-- index.html-->
<!DOCTYPE html>
<html lang="es">
<head>

<meta charset="utf-8">
<title>TimeStack</title>

<link rel="import" href="./Components/time-row.component.html">

</head>
<body>
<time-row></time-row>
</body>
</html>

以及组件:

<!-- time-row.component.html-->
<html>
<template id="sellBtn">

<style>
:host {
--orange: #e67e22;
--space: 1.5em;
}
.btn-container {
border: 2px dashed var(--orange);
padding: var(--space);
text-align: center;
}
.btn {
background-color: var(--orange);
border: 0;
border-radius: 5px;
color: white;
padding: var(--space);
text-transform: uppercase;
}
</style>

<div class="btn-container">
<button class="btn">Comprar Ahora</button>
</div>
</template>

<script>
class TimeRow extends HTMLElement {
constructor () {
super();
this.importDocument = document.currentScript.ownerDocument;
}

connectedCallback () {
let shadowRoot = this.attachShadow({mode: 'open'});
const t = this.importDocument.querySelector('#sellBtn');
const instance = t.content.cloneNode(true);
shadowRoot.appendChild(instance);
}
}

window.customElements.define('time-row', TimeRow);
</script>
</html>

这是我的错误>:/ enter image description here

就像您可以看到重复的“/Components/Components/Components/...”很多次并且组件不渲染。

最佳答案

按照 @Jordan Running 的建议,使用 ExpressJS:

//server.js
var express = require ( 'express' )
var app = express()
app.use( express.static( 'public' ) )
app.listen( 8001 )

然后将静态文件放入public文件夹中。

关于node.js - 如何使用 NodeJS 文件正确渲染自定义元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56137830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com