使用 require.context 解析包含降价文件的路径
Resolving path that contains markdown files using require.context
我想使用 require.context
获取 posts
文件夹中所有降价文件的列表
这就是我在里面做的 blog.js
:
const req = require.context('../posts', true, /\.md$/);
const posts = (ctx => {
const keys = ctx.keys();
const values = keys.map(ctx);
const data = keys.map((key, index) => {
// Create slug from filename
const slug = key.replace(/^.*[\\/]/, '').split('.').slice(0, -1).join('.');
const value = values[index];
// Parse document
const document = matter(value);
return {
document,
slug
};
});
return data;
})(req);
我的文件夹结构是:
-config.js
-pages
-blog.js
-posts
-post-1.md
-post-2.md
我在使用它时遇到错误,显然 require.context 中不允许向上移动一个文件夹。
只能前进不能后退所以双点../
是不允许的。
TypeError: expected input to be a string or buffer
如何访问帖子文件夹?
您可以使用 import 而不是 require。
从 './posts' 导入 {Post-1, Post-2};
require.context 允许上一个文件夹 ../
错误来自
const document = matter(value);
我想使用 require.context
获取posts
文件夹中所有降价文件的列表
这就是我在里面做的 blog.js
:
const req = require.context('../posts', true, /\.md$/);
const posts = (ctx => {
const keys = ctx.keys();
const values = keys.map(ctx);
const data = keys.map((key, index) => {
// Create slug from filename
const slug = key.replace(/^.*[\\/]/, '').split('.').slice(0, -1).join('.');
const value = values[index];
// Parse document
const document = matter(value);
return {
document,
slug
};
});
return data;
})(req);
我的文件夹结构是:
-config.js
-pages
-blog.js
-posts
-post-1.md
-post-2.md
我在使用它时遇到错误,显然 require.context 中不允许向上移动一个文件夹。
只能前进不能后退所以双点../
是不允许的。
TypeError: expected input to be a string or buffer
如何访问帖子文件夹?
您可以使用 import 而不是 require。
从 './posts' 导入 {Post-1, Post-2};
require.context 允许上一个文件夹 ../
错误来自
const document = matter(value);