我正在尝试使用VueJs
在webpack
中构建一个小型应用程序,我想在其中从文件夹动态包含config/routing
文件。我有这样的文件夹结构:
plugins
|----Ecommerce
|--------backend
|--------frontend
|------------config.js
|------------routes.js
|------------components
|----------------products.vue
|----Blog
|--------backend
|--------frontend
|------------config.js
|------------routes.js
|------------components
|----------------posts.vue
为此,我尝试将我的文件包含在以下内容中:
const configRequire = require.context('./../plugins/', true, /\.\/[^/]+\/config\.js$/);
const routesRequire = require.context('./../plugins/', true, /\.\/[^/]+\/routes\.js$/);
但是以某种方式它不包括文件。我猜我的正则表达式有问题
编辑:
发现问题所在,如果我将文件夹结构保持如下,则不会导入文件folders/subfolder/subfolder
:
plugins
|----Ecommerce
|--------backend
|--------config.js
|--------routes.js
|--------frontend
|------------components
|----------------products.vue
|----Blog
|--------backend
|--------config.js
|--------routes.js
|--------frontend
|------------components
|----------------posts.vue
我可以看到文件已导入。但是当我将config/routes
文件保存在frontend
文件夹中时却没有得到
在这方面帮助我。谢谢。
答案 0 :(得分:1)
选中此项以更好地了解您当前的正则表达式:https://regex101.com/r/Y9sDZc/1(删除第一行以查看第二行不匹配)。
我不确定您要匹配什么,不完全匹配,所以我只能猜测适合您的情况的正确解决方案,但这是一些选择:
config\.js
与所有名为config.js
的文件匹配。目录由您的require.context
参数处理。不过,如果您控制所有文件,并确保使用plugins/foo/bar/config.js/somefile.txt
是最简单的解决方案,那么这也将与config\.js
相匹配。
更具选择性的是:
.*\/config\.js$
希望有帮助。