Я относительно новичок в Node.js.Пока что это очень простая программа, предназначенная для проверки включения material-components-web .Я шаг за шагом следовал инструкциям в readme, и вот что у меня есть:
package.json
{
"name": "hello-polymer", "version": "0.1.0",
"description": "Intro to Polymer", "main": "index.js",
"scripts": { "start": "node index.js" },
"author": "vcapra1", "license": "ISC",
"dependencies": { "@webcomponents/webcomponentsjs": "^2.0.2" }
}
index.js
http = require('http')
fs = require('fs')
http.createServer((request, response) => {
response.statusCode = 200
response.setHeader('Content-Type', 'text/html')
let filename = "./" + request.url
if (request.url.startsWith("/@")) {
filename = "./node_modules/" + request.url
} else if (request.url == "/") {
filename = "./index.html"
} else {
response.statusCode = 404;
response.end("404 Not Found");
}
fs.readFile(filename, (err, data) => {
console.log("Request: ", request.url);
response.end(data)
})
}).listen(3000)
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>MWC Test</title>
<script src="@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
<script type="module" src="@material/mwc-icon/mwc-icon.js"></script>
</head>
<body>
Hello, World
<mwc-icon>sentiment_very_satisfied</mwc-icon>
</body>
</html>
Затем я запускаю следующую команду в папке проекта:
polymer serve
Я также попытался запустить ее с npm, используя:
npm start
Обе команды позволяют мне перейти на веб-страницу по адресу http://localhost:XXXX,, но каждый раз все, что я получаю, это текст "Hello, World sentiment_very_satisfied", и обычный текст остается там без значка.
Я не совсем уверен, чего мне не хватает.Я нахожу странным, что атрибуты скрипта src ссылаются на @webcomponents как одноуровневую папку, в то время как указанная папка фактически находится в каталоге node_modules, поэтому я попытался изменить это, но все равно не повезло.