将ionic sidemenu项目移植到meteor
我做了一个应用程序使用离子框架,并希望使其运行在流星。 该应用程序是在侧菜单模板的基础上构建的,您可以在侧菜单上创建它 这是手术室将ionic sidemenu项目移植到meteor,meteor,ionic-framework,Meteor,Ionic Framework,我做了一个应用程序使用离子框架,并希望使其运行在流星。 该应用程序是在侧菜单模板的基础上构建的,您可以在侧菜单上创建它 这是手术室 如何操作?创建两个项目: meteor add urigo:ionic > git clone https://github.com/Xample/sidemenu-meteor > cd sidemenu-meteor/ > meteor ionic启动ionic项目侧菜单 流星创建流星项目 重新组织文件: meteor add urigo:
如何操作?创建两个项目:
meteor add urigo:ionic
> git clone https://github.com/Xample/sidemenu-meteor
> cd sidemenu-meteor/
> meteor
ionic启动ionic项目侧菜单
流星创建流星项目
重新组织文件:
meteor add urigo:ionic
> git clone https://github.com/Xample/sidemenu-meteor
> cd sidemenu-meteor/
> meteor
ionicframework中的所有重要文件进入www
文件夹,开始重新组织它们,以符合meteor良好实践
- 在meteor根文件夹中,创建客户机、服务器、css和公用文件夹
- 将
文件复制到ionicProject/www/css
项目/css
- 将所有js文件、main index.html和模板文件复制到
文件夹中project/client
- 所有其他只需要提供的文件(图像、音频、文档)必须放入
文件夹中项目/public
- ionicProject/www/lib将被meteor软件包取代。不要包括在内
文件夹将保持为空project/server
- 创建
文件夹project/client/lib
- 将
文件移动到该文件中app.js
├── client
│ ├── controllers.js
│ ├── index.html
│ ├── lib
│ │ └── app.js
│ └── templates
│ ├── browse.html
│ ├── login.html
│ ├── menu.html
│ ├── playlist.html
│ ├── playlists.html
│ └── search.html
├── css
│ └── style.css
├── public
│ └── img
│ └── ionic.png
└── server
导入meteor软件包:
meteor add urigo:ionic
> git clone https://github.com/Xample/sidemenu-meteor
> cd sidemenu-meteor/
> meteor
该软件包将包括以下其他相关软件包:
added mquandalle:bower at version 0.1.11
added urigo:ionic at version 0.0.6
added urigo:angular at version 0.4.8
added urigo:angular-ui-router at version 0.6.1
added tinytest at version 1.0.3
- bower软件包允许使用bower软件包管理器。基本上,它是一个工具,可以使用一个描述文件(angular可能会使用它,但meteor还没有打包)轻松地包含其他包,您可能会使用它来安装ngCordova。顺便说一句,不需要这个侧菜单端口
- ionic对应于我们没有从
文件夹复制的所有文件。现在默认情况下,这些都包含在meteor项目中ionicProject/www/lib
- 角度基本上与离子的相同。Angular现在也包含在您的meteor项目中+Angular meteor,这将有助于引导应用程序
- 角度用户界面路由器相同的故事,但路由器。这将是处理url并将其转发到正确页面所必需的。它有点像铁制路由器,但棱角分明且兼容
- tinytest是根据默认值添加的,不需要真正的端口
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title>sidemenu-meteor</title>
</head>
<body>
<ion-nav-view></ion-nav-view>
</body>
对所有模板重复此步骤
app.js
- 打开文件并为angularJS添加手动引导,这样您就可以在文档顶部手动添加ng app标记
- 将“angular meteor”包添加到应用程序中,这会将角度分隔符更改为
和[[[
,而不是与meteor的把手冲突的常规分隔符]
和{{
}
- 替换路由器的
路径url引用,该url引用可与加载的meteor模板一起使用。请记住,我们没有将模板存储到templateUrl
文件夹中,因此我们无法通过meteoproject/public
加载模板。您可以这样做,但我不建议这样做templateUrl:'someUrl'
templateUrl:“templates/menu.html”,
变成template:UiRouter.template('menu.html'),
对状态提供程序中的所有状态重复此步骤
controller.js
- 只需替换模式的模板依赖项。发件人:
到$ionicModal.fromTemplateUrl('templates/login.html',{
$ionicModal.fromTemplateUrl('login.html',{
{
替换为[[
和}
替换为]
基本上,在本例中,您只需编辑playlists.html
最后一步
在这个阶段,您应该能够在meteor下运行ionic sidemenu项目。只缺少一件事。正如您所记得的,我们更改了分隔符{{}->[[]]。不幸的是,一些ionic指令正在使用常规的{{}}分隔符,并希望它们能够正常工作。因此,在添加
时,这会被编译为类似
的内容。因此…现在,如果单击菜单,href将出错,您将无法重定向到正确的页面…要解决此问题,一个解决方法是将
嵌入您自己的
标记中。我仍在寻找我ng寻求更好的解决方案……仍然要这样做,只需重构所有离子项目,以便:<
<a href="/#/app/search">
<ion-item nav-clear menu-close >
Search
</ion-item>
</a>
> git clone https://github.com/Xample/sidemenu-meteor
> cd sidemenu-meteor/
> meteor