vue文件中引用另外一个组件报错:This dependency was not found: && Unknown custom element: <etregister>

目录

一、问题

二、原因

三、解决方法

四、总结


一、问题

1.在一个a.vue文件中引入另一个view.vue文件,实现父子组件嵌套时,报错:dependency was not found.

引入方式:

import ETregister from "@/views/anesthetistWorkstation/ETregister

目录结构:

                       

2.详细错误如下:


 ERROR  Failed to compile with 1 errors
              上午10:28:53

This dependency was not found:

* @/views/anesthetistWorkstation/Etregister in ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/views/anesthetistWorkstation/patientsList/view.vue

To install it, you can run: npm install --save @/views/anesthetistWorkstation/Etregister

3.按照错误提示执行命令     npm install --save @/views/anesthetistWorkStation/ETregister(安装

@/views/anesthetistWorkStation/ETregister 模块)。仍然报错

PS D:\work\comentest> npm install --save @/views/anesthetistWorkStation/ETregister
所在位置 行:1 字符: 20
+ npm install --save @/views/anesthetistWorkStation/ETregister
+                    ~
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnrecognizedToken

二、原因

1.开始时,真的是一头雾水,提示为什么是安装一个模块?这两个组件都是自定义的呀……

2.现在才明白,是我自己把 引入组件的路径名少写了一级,在本地找不到这个组件,所以自动去node_modules里找了,结果node_modules里面找,也找不到,所以报错了。

三、解决方法

1.引入方式:

import ETregister from "@/views/anesthetistWorkstation/ETregister/view.vue

在路径后面加上  view.vue

到此This dependency was not found已经解决了。

2.使用引入的ETregister组件

<etregister></etregister>

1) 组件不能正常显示,控制台又报错 :不知道组件etregister

2) 更改为:

<e-tregister></e-tregister>

<ETregister></ETregister>

组件可以正常显示了。

四、总结

1.使用自己写的东西,报错:This dependency was not found,请检查自己写的路径是否正确。由于初学,误以为 一个目录下只有一个文件,引入文件时不必具体到文件名称。

2.建议引入文件时,尽量具体到要使用的文件名称。除非在配置文件中配置了可以省略部分路径。

3.报错:Unknown custom element:xxx,不能识别某个组件,请检查使用组件的方式

    import ABc from 'xxxx';

    方式一:直接使用引入的名称(和React类似)

    <ABc></ABc>

    尽量使用驼峰命名法

   方式二:使用连字符连接的组件名称:每个单词之间用连字符连接,大写字母改成小写

   <a-bc></a-bc>

/*

希望对你有帮助!

如有错误,欢迎指正!

*/

   

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在 Vue 路由文件引用组件时,可以使用相对路径或别名(alias)来引用,其别名可以在 webpack 的配置进行设置。通常情况下,@ 符号代表 src 目录的路径,也是一个别名。如果在路由文件使用 @ 来引用组件时出现了“this dependency was not found”这样的错误提示,可能是以下原因所致: 1. webpack 配置没有正确设置别名 可以在 webpack 的配置文件设置一个 alias,把 @ 映射到项目的 src 目录。如下面的例子,将 @ 映射到 src 目录: ``` // webpack.config.js module.exports = { resolve: { alias: { '@': path.resolve(__dirname, 'src') } } } ``` 2. TypeScript 的路径映射问题 如果在 TypeScript 使用了路径映射来解析路径,如下所示: ``` // tsconfig.json { "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] } } } ``` 则需要在 webpack 配置设置 resolve.modules,将项目根目录加入其: ``` // webpack.config.js module.exports = { resolve: { modules: [ path.join(__dirname, './'), path.join(__dirname, './node_modules') ] } } ``` 3. 项目结构变更或路径错误 如果项目结构发生了变更,或者组件的路径写错了,也会出现 “this dependency was not found”这样的错误提示。在这种情况下,需要检查组件的路径是否正确,或者对项目结构进行调整。 总之,无法识别 @ 符号的错误往往是因为 webpack 配置问题或路径设置不正确,需要仔细检查并进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值