Javascript 在构建时运行的加载程序或函数是否可以将静态字符串中的字符串var转换为要求()param停止在动态模式下工作?

Javascript 在构建时运行的加载程序或函数是否可以将静态字符串中的字符串var转换为要求()param停止在动态模式下工作?,javascript,angularjs,node.js,webpack,commonjs,Javascript,Angularjs,Node.js,Webpack,Commonjs,我有以下代码: var m = app.getModuleMetadata(__filename); module.exports = [m.rota, { url: '/costumer/phone/listar', templateProvider: function ($q) { return $q(function (resolve) { require.ensure([], function () {

我有以下代码:

var m = app.getModuleMetadata(__filename);

module.exports = [m.rota, {
    url: '/costumer/phone/listar',
    templateProvider: function ($q) {
        return $q(function (resolve) {
            require.ensure([], function () {
                resolve(require('../../template/listar.html'));
            });
        });
    },
    controller: m.controller,
    resolve: {
        load: [
            '$q', '$ocLazyLoad', function ($q, $ocLazyLoad) {
                return $q(function (resolve) {
                    require.ensure([], function () {
                        var modulo = require('../controller/listar.js');
                        $ocLazyLoad.load({ name: modulo.name });
                        resolve(modulo.controller);
                    });
                });
            }
        ]
    }
}];
我对他有些不满,比如:

var m = app.getModuleMetadata(__filename);

module.exports = [m.rota, {
    url: '/costumer/phone/listar',
    templateProvider: function ($q) {
        return $q(function (resolve) {
            require.ensure([], function () {
                resolve(require(m.templatePath));
            });
        });
    },
    controller: m.controller,
    resolve: {
        load: [
            '$q', '$ocLazyLoad', function ($q, $ocLazyLoad) {
                return $q(function (resolve) {
                    require.ensure([], function () {
                        var modulo = require(m.controllerPath);
                        $ocLazyLoad.load({ name: modulo.name });
                        resolve(modulo.controller);
                    });
                });
            }
        ]
    }
}];
顺便说一下,网页上说:

./modules/customer/phone/js/rota/listar.js中的警告 关键依赖项: 12:24-35依赖项的请求是一个表达式 @/modules/customer/phone/js/rota/listar.js 12:24-35

这是因为require()函数在其他上下文中运行,在webpack生成上下文中运行,而不是在运行时javascript web浏览器上下文中运行

因此,require()函数需要一个静态字符串来提供预期结果

所以,我想。。。如果我创建了一个节点函数,在require()函数的相同上下文中运行,以解析字符串变量

我知道
\u filename
变量位于节点上下文中,就像require()函数一样

我在一个加载器插件中找到了一些东西,但我不知道它是否有效

其他人知道如何运行一个函数,该函数在require()的相同上下文中运行,以
解析(require(m.templatePath))
是否提供require参数
m.templatePath
字符串值

提前谢谢