Ударяю головой ... не профессионал в Javascript, но обычно достаточно опытен, чтобы все заработало. Не в этот раз, и я не понимаю, почему:
Узел: 8.15.1 Npm: 6.13.7
ОБНОВЛЕНИЕ : jslib - это просто пример имени (на самом деле это коммерческая сторонняя библиотека), а не пакет jslib.
. json:
{
"name": "mytest",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"jslib": "file:../path_to_local_lib/lib/es-modules"
}
}
server. js:
const express = require('express');
const app = express();
app.use(express.static(__dirname + '/public'));
const port = 8000;
app.listen(port, function() {
console.log('server listening on port ' + port)
});
И в моей папке / publi c у меня есть один индекс. html и один базовый граф. js:
index. html:
<!DOCTYPE html>
<html lang="de">
<head>
<link rel="stylesheet" href="../node_modules/lib/lib.css">
</head>
<body>
<div id="graphComponent"></div>
<script type="module" crossorigin="anonymous" src="basegraph.js"></script>
</body>
</html>
и базовый граф. js:
import { GraphComponent } from 'jslib'
const graphComponent = new GraphComponent('#graphComponent');
Теперь npm install
работает без проблем, npm start
запускает сервер на порту 8000, но открытие его в моем браузере приводит к:
Отказано в применить стиль из 'http://localhost: 8000 / node_modules / lib / lib. css', потому что его тип MIME ('text / html') не является поддерживаемым типом MIME таблицы стилей и строгим MIME проверка включена.
Итак, я предполагаю, что у меня проблема с доставкой express stati c? Но я не понимаю.
И 2-й:
Uncaught TypeError: Не удалось разрешить спецификатор модуля "jslib". Относительные ссылки должны начинаться с "/", "./" или "../".
Так что я здесь не так делаю? : - (