Импортировать несколько файлов в папке в React / Nextjs - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь импортировать в папку несколько файлов с определенным расширением:

const allEntries = require.context('../static/blog', true, '/\.md/')

, но получаю:

Unhandled Rejection (TypeError): __webpack_require__(...).context is not a function

Я использую Nextjs и требовать файлы на одной из страниц.Здесь что-то не так?

Редактировать: Мне не обязательно делать это через require Я просто хочу иметь возможность импортировать / запрашивать несколько файлов одновременно, не зная имени файлаили сколько файлов находится в папке.

Ответы [ 3 ]

0 голосов
/ 13 октября 2018

Попробуйте использовать контекстную библиотеку npm.

$ npm i --save require-context

В вашем файле:

// Load globally into all modules.
require('require-context/register')

// Load locally as a function.
var requireContext = require('require-context');


function requireAll(r) { r.keys().forEach(r); } 

requireAll(requireContext('../static/blog', true, /\.md$/));
0 голосов
/ 09 апреля 2019

Из того, что я понимаю, вы очень близки, из-за ошибки, которую вы используете в вебпаке require.context

const allEntries = require.context('../static/blog', true, '/\.md/')
console.log(allEntries.keys()) // all the files found in the context
allEntries.keys().forEach(allEntries) // require them all
0 голосов
/ 13 октября 2018

Вы можете попробовать следующее в веб-пакете:

const glob = require('glob');
const allEntries = glob.sync("../static/blog/*.md"); 

glob вернет массив файлов.Массив будет содержать все файлы с расширением .md в папке ../static/blog/.Даже если пакет есть, его не нужно устанавливать.

...