ExpressJS: как включить переносимый файл .js в HTML как статический ресурс - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь настроить ExpressJS для обслуживания перенесенных файлов TypeScript из каталога, чтобы я мог включить их в свой index.html.Я продолжаю получать 404 на /components/foo.js при запуске этой установки.

/* /dist/server.js: */
var express = require('express');
var app = express();
var path = require('path');

app.use(express.static('public'));

app.use('/components', express.static(path.join(__dirname, '/dist/components')));

var options = {
    root: __dirname + '/dist/components/',
  };

app.get('/', function(req: any, res: any) {
    res.sendFile('/index.html', options);
});

app.listen(8090);
<!-- /public/index.html -->
<html>
    <head>
        <title>demo</title> 
        <script src="/components/foo.js" type="module"></script>
    </head>   
    <body>
        <h1>hello</h1>
    </body>
</html>  

Вот моя структура папок:

enter image description here

Вопрос: Какой самый разумный способ настроить структуру папок и server.ts для того, чтобы иметь возможность включать определенные транслированные .js в мои index.html?

PS: Я нашел этот вопрос SO и попробовал вариант их подхода, но он не сработал: я не понимаю, что они делают, итак что стреляю в темноте.

1 Ответ

1 голос
/ 23 апреля 2019

Какой самый разумный способ настроить структуру папок и server.ts для того, чтобы иметь возможность включать определенные переданные .js в мой index.html?

Я бы служил папке, содержащей переданные коды, как static, предпочтительно с virtual path.

Вы можете обслуживать папку components, предполагая, что она содержит транспонированные коды, которые могут быть открыты для публичного доступа

app.use('/static', express.static(__dirname + '/components')); // server.js and components are in the same folder

// Then in your html you could simply, notice the absolute path
<script src="/static/foo.js" type="module"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...