Javascript Vue.js-连接
我有一个很奇怪的问题 以下所有代码都工作正常:Javascript Vue.js-连接,javascript,laravel,vue.js,vuejs2,require,Javascript,Laravel,Vue.js,Vuejs2,Require,我有一个很奇怪的问题 以下所有代码都工作正常: payload.modules.forEach(function(mod) { var modules_path = '../../modules/'; // Routes router.addRoutes(require('../../modules/'+mod.module_id+'/routes.js')); // Store store.regist
payload.modules.forEach(function(mod) {
var modules_path = '../../modules/';
// Routes
router.addRoutes(require('../../modules/'+mod.module_id+'/routes.js'));
// Store
store.registerModule(['modules', mod.module_id],
require('../../modules/'+mod.module_id+'/store.js').default);
});
但是当我将modules\u path变量用于我的需求时,如下所示:
payload.modules.forEach(function(mod) {
var modules_path = '../../modules/';
// Routes
router.addRoutes(require(modules_path+mod.module_id+'/routes.js'));
// Store
store.registerModule(['modules', mod.module_id],
require('../../modules/'+mod.module_id+'/store.js').default);
});
目前,这是行不通的。
什么能解释这一点?这对我来说似乎是一样的 谢谢你的帮助:)
编辑:
var modules_path = '../../modules/clients/routes.js';
// Routes
router.addRoutes(require(modules_path));
同样的道理。模块路径的类型为字符串。您可以尝试将
.toString()
添加到mod.module\u id
或modules\u path.concat(mod.module\u id.toString().concat('/routes.js')代码>mod.module\u id的数据类型是什么?我不确定为什么会发生这种情况,但您可以查看常用文件夹。这与:var modules\u path='../../modules/clients/routes.js'相同;//Routes router.addRoutes(需要(模块_路径));模块的类型\u路径自然是字符串。我还想问,为什么要加载这样的文件,而不是使用laravel mix?因为这是一个动态的模块化应用程序,在loginI好奇的时候加载用户的模块,为什么.concat()
工作而+
不工作?我猜与变量类型有关,但是+应该工作,无论类型如何