Javascript vuejs-can';无法让dayjs在浏览器中工作

Javascript vuejs-can';无法让dayjs在浏览器中工作,javascript,laravel,vue.js,Javascript,Laravel,Vue.js,我试图根据以下指南显示人类的不同日期: 因此,我尝试通过以下方式将DayJS作为组件加载到我的VueJS应用程序中: <script src="{{ asset('/vendor/vuejs/vue.js') }}" type="text/javascript"></script> <script src="{{ asset('/vendor/vue-dayjs/dayjs.min.js') }}">

我试图根据以下指南显示人类的不同日期:

因此,我尝试通过以下方式将DayJS作为组件加载到我的VueJS应用程序中:

<script src="{{ asset('/vendor/vuejs/vue.js') }}" type="text/javascript"></script>
<script src="{{ asset('/vendor/vue-dayjs/dayjs.min.js') }}"></script>
<script type="text/javascript">

  Vue.component("dayjs", dayjs);

  Vue.filter('formatDateDiffForHumans', function(value){
    if (!value) return null;
    return dayjs(value).fromNow();
  });

  var app = new Vue({
    el:'#vue_app',
    data:{
      ......
    }
  });

</script>

.....

<span>@{{ t.object.created_at | formatDateDiffForHumans }}</span>

我做错什么了吗?

你的问题有两个方面:

  • dayjs
    不是VueJS组件,因此使用
    Vue.component(“dayjs”,dayjs)没有意义在上面
  • 您没有
    .fromNow()
    工作所需的依赖项:
    • 你需要,而且
    • 您将需要,即
      dayjs.extend(window.dayjs\u plugin\u relatietime)
  • 专业提示:确保您阅读了所使用插件的文档。它们通常包含所有概念验证代码和说明,用于启动和运行插件。以下是一个概念验证示例:

    //使用插件扩展DayJS
    扩展(window.dayjs\u plugin\u relatietime);
    Vue.filter('formatDateDiffForHumans',函数(值){
    如果(!value)返回null;
    返回dayjs(value).fromNow();
    });
    var app=新的Vue({
    el:“#vue_应用程序”,
    数据:{
    myDate:新日期(2018年8月18日)
    }
    });
    
    
    @{{myDate | formatDateDiffForHumans}}
    
    dayjs
    不是Vue组件,因此不确定为什么要加载它:
    Vue.component(“dayjs”,dayjs)。你在文章中的链接准确地描述了你应该如何导入插件。
    
    [Vue warn]: Error in render: "TypeError: dayjs(...).fromNow is not a function"