【问题标题】:How do I use a template literal in an import statement? [duplicate]如何在导入语句中使用模板文字? [复制]
【发布时间】:2016-08-25 14:39:54
【问题描述】:

当这行被执行时:

import stats from `./${process.env.STATS}`

报如下错误:

解析错误:意外的令牌`

使用表达式可以成功加载模块:

const stats = require(`./${process.env.STATS}`);

import 语句似乎需要一个常规字符串,因为它与语句一起使用:

import stats from './statsdir'

其中'./statsdir'process.env.STATS 的值。

为什么会出现错误?

【问题讨论】:

  • 你用的是什么节点版本?
  • 我正在使用版本6.0。我也在使用babel-cli 编译源文件。
  • 如果您使用的是 babel,您是否在 .babelrc 中加载了正确的预设?
  • 我目前使用的是es2015预设。

标签: javascript node.js ecmascript-6


【解决方案1】:

为什么会出现错误?

看来你自己找到了答案:

import 语句似乎需要一个常规字符串

没错。 import 需要一个字符串 literal。它的导入位置不能是动态的。

相关:ES6 variable import name in node.js?

【讨论】:

    猜你喜欢
    • 2017-11-13
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 2014-03-24
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    相关资源
    最近更新 更多