vulcanjs 功能是以包进行管理,包里面包含了运行依赖的组件以及对于路由的注册

参考项目

  • 项目结构
├── README.md
├── license.md
├── package-lock.json
├── package.json
├── packages
│ ├── _boilerplate-generator
│ │ ├── README.md
│ │ ├── generator.js
│ │ ├── package.js
│ │ ├── template-web.browser.js
│ │ ├── template-web.cordova.js
│ │ └── template.js
│ ├── _buffer
│ │ ├── buffer.js
│ │ └── package.js
│ └── dalong-demo
│ ├── lib
│ │ ├── client
│ │ │ └── main.js
│ │ ├── modules
│ │ │ ├── components
│ │ │ │ └── user.jsx
│ │ │ ├── index.js
│ │ │ └── routes.js
│ │ └── server
│ │ └── main.js
│ └── package.js
├── sample_settings.json
├── settings.json
└── yarn.lock
  • 代码说明

    代码从vulcanjs starter 获取,删除了默认的package
    对于我们主要编写包的代码,就是在packages 目录下创建功能,然后就是在.meteor/packages 进行包的注册

packages/dalong-demo/package.js
Package.describe({
name: 'dalong-demo',
});
Package.onUse(function (api) {
api.use([
'promise',
// vulcan core
'vulcan:core@1.12.3',
]);
api.mainModule('lib/server/main.js', 'server');
api.mainModule('lib/client/main.js', 'client');
});
packages/dalong-demo/lib/client/main.js
packages/dalong-demo/lib/server/main.js
import '../modules/index.js'; packages/dalong-demo/lib/modules/index.js
import './routes.js';
packages/dalong-demo/lib/modules/routes.js
import { addRoute, Components } from 'meteor/vulcan:core';
import './components/user.jsx';
addRoute({ name: 'user', path: '/', componentName: 'dalonginfo' });
packages/dalong-demo/lib/modules/components/user.jsx
import {registerComponent } from 'meteor/vulcan:core';
import React from 'react';
const Header = props => {
return (
<div>
<p>dalong demo</p>
</div>
)
}
registerComponent('dalonginfo', Header);

注册包

.meteor/packages 文件

# see http://docs.vulcanjs.org/packages

vulcan:core@1.11.2
vulcan:i18n@1.12.3
############ Your Packages ############ dalong-demo

启动

yarn && yarn start

效果


说明

打开调试控制台,可能会有一些错误,当前可以不用管

参考资料

http://docs.vulcanjs.org/routing.html
http://docs.vulcanjs.org/
https://github.com/rongfengliang/vulcanjs-package-demo

 
 
 
 

vulcanjs 简单package 编写的更多相关文章

  1. Android简单的编写一个txt阅读器(没有处理字符编码),适用于新手学习

    本程序只是使用了一些基本的知识点编写了一个比较简单粗陋的txt文本阅读器,效率不高,只适合新手练习.所以大神勿喷. 其实想到编写这种程序源自本人之前喜欢看小说,而很多小说更新太慢,所以本人就只能找一个 ...

  2. rpm 简单 package 创建demo

    安装的工具 yum install -y rpmdevtools 准备环境 主要是初始化,会自动创建rpm 包构建需要的目录 rpmdev-setuptree 编写简单的spec cd ~/rpmbu ...

  3. SpringMVC(一) 简单代码编写,注解,重定向与转发

    SpringMVC是什么 SpringMVC是目前最好的实现MVC设计模式的框架,是Spring框架的一个分支产品,以SpringIOC容器为基础,并利用容器的特性来简化它的配置.SpringMVC相 ...

  4. 简单的编写java的helloWord

    那么在上一章章节 http://www.cnblogs.com/langjunnan/p/6814641.html 我们简单的俩了解了一下什么是java和配置编写java的环境,本章呢我们学习如何编写 ...

  5. python简单爬虫编写

    1.主要学习这程序的编写思路 a.读取解释网站 b.找到相关页 c.找到图片链接的元素 d.保存图片到文件夹 ..... 将每一个步骤都分解出来,然后用函数去实现,代码易读性高. ##代码尽快运行时会 ...

  6. 简单shellcode编写

    0x00 介绍 Shellcode 是指经过精心设计的一串指令,一旦注入正在运行的应用程序中即可运行,常用于栈和基于堆的溢出.术语Shellcode意思指的便是用于启动一个命令Shell的已编写好的可 ...

  7. lua 5.3最简单plugin编写

    #include <windows.h> #include "lauxlib.h" /* Pop-up a Windows message box with your ...

  8. (1)打造简单OS-汇编写入引导区,虚拟机启动步骤

    首先需要您在网上下载NASM编译器,可以将汇编编译为二进制文件 1.写一段汇编代码在屏幕上打印一段字符,可以运行的!并进行nasm为二进制文件,如下"test.asm" 该段汇编主 ...

  9. js最简单的编写地点

    1. 在哪里? 在浏览器的控制台. 2. 有什么作用? 方便快捷的测试纯js代码语句. 3. 如何使用? Google浏览器为例:  按 F12键  打开 开发者工具  (或者 浏览器工具栏 => ...

随机推荐

  1. 20161227xlVBA多文件合并计算

    Sub NextSeven_CodeFrame() '应用程序设置 Application.ScreenUpdating = False Application.DisplayAlerts = Fal ...

  2. Javascript基础一(2)

    循环语句 1.for循环 <script> //从1乘到100: //计数器 // var product = 1; // for(var i=1;i<=10;i++){ // pr ...

  3. zabbix3.0.4 配置邮件报警

    试验环境: LAMP环境 (LNMP环境已经成功了,为了避免干扰,我另一台LAMP主机) ### 我在做实验之前,作了时间同步,不知道这个有木有影响,一起说一下吧! yum -y install nt ...

  4. TCP/IP四层与OSI七层模型

      OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行实 ...

  5. hdu-2147-博弈

    kiki's game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 40000/10000 K (Java/Others)Total ...

  6. RedHat Linux 5下不能使用fdisk的问题

    最近在用RedHat Linux5的时候,使用fdisk命令,遇到了下面的错误: bash:fdisk:command not found 在网上找了找,解决方案如下: 首先,这个错误的原因是因为fd ...

  7. python里实现DSL

    以后用到的话可以参考如下链接: http://safehammad.com/downloads/domain-specific-languages-and-python-2011-04-21.pdf ...

  8. laravel中的DB facade实现数据的CURD

    /* $students=DB::select("select * from student"); var_dump($students);*/ //新增数据: /*$bool=D ...

  9. matplotlib小示例

    matplotlib 画廊  http://matplotlib.org/gallery.html import numpy as np import matplotlib.pyplot as plt ...

  10. 添加MyEclipse WebSphere Portal Server支持(一)

    [周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 一.支持WebSphere Portal Server 本文档介绍了如何支持和开发 We ...