Невозможно загрузить javascript файлов в express - PullRequest
0 голосов
/ 19 января 2020

Я создаю express веб-приложение и не могу импортировать javascript файл.

В board.js у меня есть строка const utility = require('./utility');. Это утверждение выдает ошибку: ReferenceError: require is not defined.

VSCode предлагает преобразовать const utility = require('./utility'); в модуль ES6. Результат после принятия этого предложения: import { generateRandomData } from './utility';.

Если я сделаю это, предыдущая ошибка исчезнет, ​​но появится новая ошибка SyntaxError: import declarations may only appear at top level of a module.

Это папочная структура проекта:

enter image description here

server.js:

const express = require("express");
const app = express();
const path = require('path');

const PORT = process.env.PORT || 5000

app.listen(PORT, () => {
    console.log("server started")
});

app.use(express.static(path.join(__dirname + '/public')))

app.get('/', (req,res) => {
    res.sendFile(__dirname + "/index.html")
});

utility.js:

const hello = () => {
    console.log('hello');
}

module.exports.hello = hello;

Как еще мне импортировать javascript файлы в board.js?

Ответы [ 2 ]

0 голосов
/ 19 января 2020
<script src="utility.js"></script>

Я добавил эту строку в индекс. html, и это решило проблему.

Редактировать: Извините, я думал, что вставил строку.

0 голосов
/ 19 января 2020

Ваш каталог publi c установлен на вашем сервере c через express .stati c. js. Следовательно, вызов publi c файла со стороны клиента не будет проходить мимо express, а через браузер клиента.

Если ваш JS воспроизводится непосредственно в браузере, вместо того, чтобы требовать, вы должны использовать импорт и экспорт .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...