代码之家  ›  专栏  ›  技术社区  ›  Mathieu

Node-如何在path.join中使用变量?

  •  0
  • Mathieu  · 技术社区  · 6 年前

    我使用的是一个需要路径连接,其中结束文件的名称是一个变量。

    module.exports = function render(locals) {
    
      const language = locals.path.split('/')[1]
      return Promise.resolve(
        locals.ejsCompile(
          //require(`../i18n-build/index.${language}.js`)
          require(path.join(__dirname, "i18n-build", "index", ${language}.js))
        )
      )
    };
    

    我犯了这个错误,我想是因为 ${language}.js 未正确包含在路径中。join

    error  Module parse failed: Unexpected token You may need an appropriate
    9:35:49 AM:                loader to handle this file type. |     locals.ejsCompile( |
    9:35:49 AM:                //require(`../i18n-build/index.${language}.js`) >
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Denys Séguret    6 年前

    如果要使用模板字符串,需要反引号。根据你的评论代码你可能想要

    require(path.join(__dirname, "i18n-build", `index.${language}.js`))
    

    与字符串连接相同的是

    require(path.join(__dirname, "i18n-build", "index."+language+".js"))