Laravel 5:使用Vue安装自定义组件,错误为“不在npm注册表中。”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5:使用Vue安装自定义组件,错误为“不在npm注册表中。”相关的知识,希望对你有一定的参考价值。

我们正在使用的技术是Laravel,现在正在尝试使用Vue js。在我的app.js中

App.js文件

Vue.component('main-chart-of-accounts', require('chart_of_account.vue').default);

也位于同一路径。我有该文件chart_of_account.vue。在此文件中,这是我们的模板

account.vue的chart_of_chart文件

<template>
    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
        <article-list></article-list>
        <!-- end card-->          
    </div>
</template>
<script>
    import ChartOfAccountList from '../components/configurations/chart-of-accounts/ChartOfAccountList.vue';
    export default {  
        data: function () {
            return {
                detail: ''
            }
        },
        mounted(){
        },
        methods: {
        },
        watch: {
        },
        components: {
            ChartOfAccountList
        }
    }
</script>

当我尝试通过执行此命令来安装ChartOfAccount.vue时遇到一些错误

npm install --save ChartOfAccount.vue

1说

'ChartOfAccount.vue@latest'不在npm注册表中。npm ERR! 404您的软件包名称无效,因为npm ERR! 404 1.名称不能再包含大写字母

所以我将文件名更改为chart_of_account.vue,然后尝试再次安装它,但是这次我的错误是

'chart_of_account.vue@latest' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)

问题:如何在我的app.js中导入chart_of_account.vue?

答案

使用require(),您可以按名称导入NPM软件包,例如require('express')

如果要导入本地文件,则必须使用相对路径,对于“当前路径”为./

所以您的代码应该是:

Vue.component('main-chart-of-accounts', require('./chart_of_account.vue').default);

这样,您的捆绑程序就知道您需要一个文件,而不是一个名为“ chart_of_account.vue”的软件包]

以上是关于Laravel 5:使用Vue安装自定义组件,错误为“不在npm注册表中。”的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.6.7 和 Vue.js 中的自定义错误消息,尤其是组件

VueJS注册组件错误未知自定义元素

Laravel Nova 中的自定义 Vue 组件

Laravel Nova自定义工具创建:vue组件不刷新

Laravel 5.3 个人访问令牌 500

如何在 Laravel 5.3 中使用带有 Vue.js 2.0 的组件中使用外部 html 模板