Require 的参数用字面量和变量 编译的时候有区别?

文件夹ab中有两个文件a.js b.js
文件夹c中有一个文件c.js

在a.js中通过模块c的方法调用模块b,用变量当参数无法编译

文件 ab/a.js

let a = {
    init: function() {
        let c = require('../c/c');
        c.getB(); //在模块c中的调用会有问题
    }
}
module.exports = a;

文件 ab/b.js

let b = {}
module.exports = b;

文件 c/c.js

let c = {
    getB() {
        let path = '../ab/b';
        let b = require(path); // 错误,找不到模块 ../ab/b
        
        // ----- 下面可以
        let b = require('../ab/b'); // 可以编译通过
    }
}
module.exports = c;

这个,是有区别的,Creator 只支持字面量~