首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实验模块的节点模块路径别名

实验模块的节点模块路径别名
EN

Stack Overflow用户
提问于 2019-05-21 11:39:19
回答 1查看 1.3K关注 0票数 2

我使用module-alias包在节点项目中启用路径别名。例如,它让你:

代码语言:javascript
复制
const accountRepo = require('@app/account/account-repo')

我想将该项目转换为使用experimental modules (使用--experimental-modules标志启用)。当节点12进入LTS时,ES模块将在没有标志的情况下启用;我想我应该在那之前开始试验。无论如何,模块别名似乎不能与ES模块一起工作。我尝试将此代码添加到我的应用程序的根目录(这是我在转换到esm之前使用的方法):

代码语言:javascript
复制
require('module-alias/register')

我尝试将其更改为:

代码语言:javascript
复制
import 'module-alias/register'

我试着在启动服务器时要求:

代码语言:javascript
复制
node --experimental-modules -r module-alias/register server/app.js

这些方法都不起作用。我猜模块别名覆盖了require函数,以便允许路径别名,这当然不适用于esm。

我知道我可以用Babel做到这一点,但我正在使用--experimental-modules来避免这种情况。

我还尝试了node_modules文件夹中的符号链接,但在Docker容器中运行该应用程序似乎不起作用。此外,在我看来,这似乎很麻烦/脆弱。

有谁知道如何在原生ES模块的节点中启用路径别名?

EN

回答 1

Stack Overflow用户

发布于 2019-06-11 03:55:15

我把这个作为一个问题发布在github上。显然,module-alias还不支持ES模块。然而,我得到了一个潜在的解决方法的回复。我自己还没有试过,但海报上说它很管用。

https://github.com/ilearnio/module-alias/issues/59#issuecomment-500480450

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56230755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档