#javascript #node.js #express #router
#javascript #node.js #экспресс #маршрутизатор
Вопрос:
как импортировать файл user.json json в мой user.js ? когда я набираю / user, должен отображаться json? новая версия узла, которую я не понимаю
index.js
import express from 'express';
import bodyParser from 'body-parser';
import usersRoutes from './routes/users.js';
const app = express();
const PORT = 5000;
app.use(bodyParser.json());
app.use('/users', usersRoutes);
app.get('/', (req, res) => {
res.send('hello');
});
app.listen(PORT, () => console.log(`Server running on port: http://localhost:${PORT}`));
user.js
import express from 'express';
const router = express.Router();
router.get('/', (res, req) => {
res.send();
});
export default router;
Комментарии:
1. в чем именно заключается ошибка? обратите внимание, что user.json отличается от user.js
Ответ №1:
import express from 'express';
import userJSON from '../user.json' // < ------- here
const router = express.Router();
router.get('/', (res, req) => {
res.send();
});
export default router;
Комментарии:
1. у меня есть эта ошибка: ошибка типа [ERR_UNKNOWN_FILE_EXTENSION]: неизвестное расширение файла «.json», когда я пытаюсь localhost:5000 / users
Ответ №2:
В зависимости от используемой вами версии вам необходимо либо использовать babel, либо включить флаг —experimental-json-modules для работы модуля. ** узлу v.14 ничего не нужно.
узел —экспериментальный-json-модули about.js
import express from 'express';
import userfile from '../user.json' // import the json file
const router = express.Router();
router.get('/', (res, req) => {
res.send(userfile); //this line sends the json
});
export default router;
Комментарии:
1. те же ошибки: ошибка типа [ERR_UNKNOWN_FILE_EXTENSION]: неизвестное расширение файла «.json» для C:Users33680DocumentsDeveloppementAngularapiuser.json
2. Какой узел вы используете? Вы используете babel ?
3. @SomeoneSpecial, что это то, что я называю ошибкой.
4. обычно я публикую ответы, основанные на последней версии, и сообщаю, есть ли у пользователя дополнительные ошибки. Спасибо за обновление поста
Ответ №3:
Вместо этого используйте модуль fs:
const user = require('fs').readFileSync('../user.json', 'utf-8');
Ответ №4:
Вы можете сделать это просто:
import express from 'express';
import user from '../user'; // <---- Don't need even the .json extension.
const router = express.Router();
router.get('/', (res, req) => {
res.send(user);
});
export default router;