[英]How to import modules with @ symbol in path in using nodejs?
我有一个VueJS项目,该项目使用我编写的服务模块。
由于我使用了vue cli,所以我使用了方便的@
符号来表示我的src文件夹,并使用该模式轻松加载了所有模块:
/* Inside someService.js */
import API from '@/services/APIService.js'
问题是,现在我正尝试使用nodejs加载这些模块,以在服务器上使用相同的功能,并避免重复代码。
我在使用esm的节点中获得了import
支持,但是对于使用@
符号的所有模块,我都遇到了错误。
我可以遍历整个代码库,尝试摆脱@
符号,但这将是我的最后选择。
如何使用@
符号加载这些模块以表示src
文件夹?
我最终使用了link-module-alias 。
它为您的别名创建符号链接,就像模块别名一样,以您在package.json
添加的方式定义它:
{
// ... details, dependencies etc.
"_moduleAliases": {
"@": "./src"
},
}
我看到使用module-alias存在一个可能的解决方案 。 您可以在package.json
定义与上面的答案中完全相同的"_moduleAliases"
,但可以在运行时使用模块别名代替符号链接,如下所示:
node -r module-alias/register -r esm index.js 8081
但这对我没有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.