码迷,mamicode.com
首页 > 编程语言 > 详细

如何在Vuejs中优雅使用Javascript各种插件

时间:2017-11-25 14:21:03      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:引入   this   简单   对象   win   服务端   业务需求   where   访问   

在日常开发中,为了敏捷开发或者更快满足业务需求,不得不使使用js第三方库或者插件。

如何在Vue项目中引入javascript第三方库


 

全局变量

将 JavaScript 第三方库 添加到项目中,最简单的办法是通过将其附加到 window 对象上,以使其成为全局变量。

如何引入:

window._ = require(‘lodash‘); 

如何使用:

export default {
  created() {
    console.log(_.isEmpty() ? ‘Lodash everywhere!‘ : ‘Uh oh..‘);
  }
}

这种情况会使 window 变量不断增长,但是最关键的是,他们不能使用服务器渲染。当应用程序在服务端运行时,window 对象是 undefined 的,因此尝试访问 window 下的属性将会抛出一个错误。

使用ES6在每个文件中导入

二流的方法是将库导入到每个文件中:

// MyComponent.vue 文件
import _ from ‘lodash‘;
export default {
  created() {
    console.log(_.isEmpty() ? ‘Lodash is available here!‘ : ‘Uh oh..‘);
  }
}

这是有效的,但是你需要重复手动导入和移除,这是一个痛点:你必须记住将这个库导入到每个文件中,然后当你的某个文件不用这个库的时候, 记得要将它从这个文件中移除。如果你没有正确地设置你的构建工具,则可能会最终导致在构建包中存在同一个库的多个副本。

更好的方式

在Vue项目中使用Javascript库的最干净,最健壮的方法是将其代理为 Vue 原型对象的属性。我们用这种方式,将 Moment日期和时间库添加到我们的项目中:

import moment from ‘moment‘;
Object.definePrototype(Vue.prototype, ‘$moment‘, { value: moment });

由于所有组件都会继承 Vue 原型对象上方法,这将使 Moment 自动可用于任何组件,没有全局变量或任何需要手动导入的组件。它可以在任何 实例/组件 中简单地通过 this.$moment 访问被访问:

export default {
  created() {
    console.log(‘The time is ‘ . this.$moment().format("HH:mm"));
  }
}

大功告成!

如何在Vuejs中优雅使用Javascript各种插件

标签:引入   this   简单   对象   win   服务端   业务需求   where   访问   

原文地址:http://www.cnblogs.com/Abner5/p/7894926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!