节点-如何在path.join内使用变量?

时间:2018-07-26 07:38:03

标签: javascript node.js

我正在使用require路径联接,其中结尾文件的名称是一个变量。

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部分未正确包含在path.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 个答案:

答案 0 :(得分:2)

如果要使用模板字符串,则需要反引号。根据您可能想要的注释代码

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

与字符串串联相同的是

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