节点模块别名错误:找不到模块'@ src / utils / constants'

时间:2019-05-06 20:12:26

标签: node.js amazon-web-services ask-cli

我正在运行摩卡测试,最近又升级到Ask-CLI的最新版本。我再次运行测试,现在收到此模块错误。我已经npm安装src和utils无济于事。从我读过的内容来看,模块别名可能不支持@src路径。

我正在调用此命令:

$ ask api simulate-skill -l en-US -t "start my day" -s amzn1.ask.skill.XXXXXXXX-4156-4ca0-b14e-XXXXXXXXXXXX

更新:这似乎是使用

的ask-cli的问题

const CONSTANTS = require('@src/utils/constants'); @src应该找到节点程序包的源,但是我找不到的任何其他程序包中都没有使用此@src。所有其他软件包似乎都使用../../,因此很可能在module-alias找不到任何内容之前,bc不知道如何路由这种新语法

有人知道这种新的@src语法吗?是否有npm模块来帮助路由?

曾为ask-cli 1.1.6工作,但我升级到1.7.2以获得新功能。

Error: Cannot find module '@src/utils/constants'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._resolveFilename (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/module-alias/index.js:49:29)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/ask-cli/lib/commands/init/index.js:1:81)
    at Module._compile (module.js:652:30)
    at Module.replacementCompile (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/nyc/node_modules/append-transform/index.js:58:13)
    at module.exports (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/nyc/node_modules/default-require-extensions/js.js:8:9)
    at Object.<anonymous> (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/nyc/node_modules/append-transform/index.js:62:4)
module.js:549

2 个答案:

答案 0 :(得分:0)

我通过在本地项目的依赖项中加入ask-sdk来解决了这个问题。

答案 1 :(得分:0)

bug在本地安装ask-cli时得到确认。 bug报告中指出了两种解决方法。

全局安装ask-cli

   $ npm install -g ask-cli

或安装module-alias软件包:

   $ npm install module-alias

并通过将以下内容添加到package.json文件中,将其配置为在@src文件夹中寻找ask-cli/lib

  "_moduleAliases": {
    "@src": "./node_modules/ask-cli/lib",
    "@root": "./node_modules/ask-cli",
    "@test": "./node_modules/ask-cli/test"
  }