【发布时间】:2018-10-21 05:41:50
【问题描述】:
我正在尝试使用webpack 在VueJs 中构建一个小型应用程序,我想在其中动态包含来自文件夹的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 文件夹中时没有得到
帮我解决这个问题。谢谢。
【问题讨论】:
-
我不熟悉
require.context语法,但它是包含route\.js的正则表达式和包含route的实际文件s.jsa键入您在将问题复制到 StackOverflow 时介绍的内容 -
@Ferrybig 感谢您的提示。
-
尝试调整您的正则表达式,您匹配的
./仅适用于当前目录(插件),不适用于其任何子目录。修复正则表达式,你应该没问题。 -
@TommyF 是的,但我不太了解。
-
谢谢大家,我做了
/\.\/[^/]+\/[frontend]+\/config\.js$/并且成功了。 @TommyF
标签: javascript regex vue.js webpack vuejs2