为了能在Vue上更简便地使用canvas-nest.js这个炫酷的特效,在原项目作者的提醒下,花了几小时直接将canvas-nest封装成了vue-canvas-nest组件。
初始化
# initvue init webpack-simple vue-canvas-nest# install dependenciescd vue-canvas-nest && npm install安装原项目依赖
npm install canvas-nest.js编写组件
仔细阅读一下原项目的README,发现它只有一个API,并且作者已经说明了如何使用,只需传入需要渲染的元素和canvas-nest配置:
// There is only one API, use it like:import CanvasNest from 'canvas-nest.js';const config = { color: '255,0,0', count: 88,};// render nest on element with config.const cn = new CanvasNest(element, config);// destroycn.destroy();将原来的src文件夹重命名为example以便后期当示例和调试使用。
新建src文件夹,并在src文件夹下建立文件vueCanvasNest.vue,代码如下:
<template> <div class="vue-canvas-nest-element" style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: -1;"> </div></template>< >import CanvasNest from 'canvas-nest.js';export default { name: 'vueCanvasNest', props: { config: { type: , default () { return { color: '255,0,0', count: 88, } } } }, data() { return { cn: '' } }, mounted() { const el = document.querySelector('.vue-canvas-nest-element') this.cn = new CanvasNest(el, this.config) }, beforeDestroy() { this.cn.destroy() }}</ >同时新建一个叫index.js导出组件import vueCanvasNest from './vueCanvasNest.vue'export default vueCanvasNest示例测试
在example文件夹下的App.vue文件里加入组件
标签中代码:
import vueCanvasNest from '../'export default { name: 'app', components: { vueCanvasNest }, data() { return { msg: 'Welcome to Your Vue.js App', config: { color: '0,0,255', count: 200, } } }}template标签中加入一行:
<vue-canvas-nest></vue-canvas-nest>更改webpack.config.js
entry改为 ./src/index.js
module.exports = { entry: './src/index.js', ...}开发环境下entry改为 ./example/main.js
if (process.env.NODE_ENV === 'production') { ...} else { module.exports.entry = './example/main.js'}运行
npm run dev此时就能看到炫酷的canvas-nest效果了。
发布组件到npmjs
# npm初始化npm init # 按照提示完成package.json后npm publish原文发布时间为:2018年06月24日
继续阅读与本文标签相同的文章
上一篇 :
Vue开发的电影预告webApp介绍
-
【开源】微信小程序、小游戏以及 Web 通用 Canvas 渲染引擎 - Cax
2026-06-02栏目: 教程
-
浅解前端必须掌握的算法(三):直接插入排序
2026-06-02栏目: 教程
-
【Chrome】Chrome-devtools:对ios-safari移动端的H5页面进行调试(ios-webkit-debug-proxy)
2026-06-02栏目: 教程
-
Redux-源码解析
2026-06-02栏目: 教程
-
一点感悟:《Node.js学习笔记》star数突破1000+
2026-06-02栏目: 教程
