s***@126.com
s***@126.com
  • 发布:2019-06-28 14:37
  • 更新:2019-06-28 15:08
  • 阅读:4236

require 支持变量参数路径吗

分类:uni-app

比如requre的参数我需要通过变量来判断到底引入那个json文件,如下提示无法找到模块:
let path = '../../static/music/foYin/' + this.albumInfo.albumPath + '/musicList.json'
let musicobj = require(path);
而测试写死路径则可以,如下:
let musicobj = require(../../static/music/foYin/album-1/musicList.json);

还是因为es6无法支持动态路径的问题?

2019-06-28 14:37 负责人:无 分享
已邀请:
s***@126.com

s***@126.com (作者)

采用es6的模板字符串格式也不行,${albumPath}原样输出没有替换成变量值,如下:
let albumPath = this.albumInfo.albumPath;
let musicobj = require('@/static/music/foYin/${albumPath}/musicList.json');

s***@126.com

s***@126.com (作者)

问题已解决,通过模板字符串可以解决,如下:
let albumPath = this.albumInfo.albumPath;
let musicobj = require(@/static/music/foYin/${albumPath}/musicList.json);
注意:不能使用单引号和双引号,必须使用 · 也就是ESC下面那个键的符号,否则不会替换。

  • s***@126.com (作者)

    上面的反单引号回复帖子中没有显示出来,应该这样:


    let musicobj = require(`@/static/music/foYin/${albumPath}/musicList.json`)

    2019-08-13 08:36

该问题目前已经被锁定, 无法添加新回复