【问题标题】:Javascript ES6 import with @ character带有@字符的Javascript ES6导入
【发布时间】:2018-04-03 10:33:24
【问题描述】:

我在 node_modules 中有一个名为:@mymodule 的文件夹,其中有一个名为“insidefolder”的文件夹

路径如下所示:node_modules/@mymodule/insidefolder

使用 ES6 语法,我尝试在此模块中导入 insidefolder:

import insidefolder from '@mymodule/insidefolder';

我收到一个错误:Error: Cannot find module '../ymodule/insidefolder'

const mymodule = require('@mymodule/insidefolder');

工作得很好。

如何解决?

【问题讨论】:

  • 你试过在你的 webpack 配置中添加别名吗?您可以添加一些别名,例如“mymodule”:“@mymodule/inside”,我没有尝试过,因为我没有遇到您的情况,但可能会工作
  • 哦,如果你使用的是 webpack,当然……我不问不好
  • @JavisPerez 没有尝试添加别名。我在 mymodule 中有很多不同的路径嵌套,所以需要很多别名。
  • 你能逃脱@符号吗?似乎 import 语句将“@m”的组合作为特殊字符。
  • 好吧,你可以尝试将整个文件夹命名为“mymodule”:“@mymodule”,然后执行“mymodule/inside”

标签: javascript npm webpack ecmascript-6 babeljs


【解决方案1】:

碰巧我的 .babelrc 有插件:

["babel-root-import", [{
      "rootPathPrefix": "@",
      "rootPathSuffix": "src"
    }]]

每个以 @ 开头的导入都指向 src 路径。我删除了这个,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 2017-07-04
    • 2015-12-07
    相关资源
    最近更新 更多