如何实现SailsJS + Phonegap / Cordova应用程序
已经审查: 如何从SailsJS和SailsJS phonegap 制作phonegap移动应用程序 ? ,但没有find真正的答案。 我想实现一个项目,后端是SailsJS,前端是:1)Web客户端; 2)PhoneGap客户端;
我查看了https://github.com/coderaven/sails-docs/blob/master/What-Is-Sails.md ,其中提到了PhoneGap / Cordova的使用情况,但同样没有提供实际的例子。
所以我会很感激,如果有人可以分享包括Sails和PhoneGap /cordova的样板例子,或者至less分享一些示例代码。
花了几天的时间进行研究和试验后,让我分享一下适用于我的解决scheme。 我将分两部分来回答:
-
SailsJS
- 对于已经开发的SailsJS项目,只需从你的sails项目文件夹中执行sails
sails www
– 它将产生这里已经解释的内容https://github.com/coderaven/sails-docs/blob/master/What-Is-Sails.md# PhoneGap的铬的扩展和水疗中心友好 - 请注意,如果您有
assets/js/app.js
文件,请重命名它,否则稍后将在您的PhoneGapwww/js
文件夹中重写相同的app.js
文件。 - 确保你知道URL,你的项目已经取消 – 默认情况下是
http://localhost:1337
- 对于已经开发的SailsJS项目,只需从你的sails项目文件夹中执行sails
-
PhoneGap /cordova
- 创build您的PhoneGap项目。 它会产生PhoneGap项目文件夹内的
www
文件夹。 - 在你当前的sails项目中find你的
www
文件夹(见第1点),并将其内容复制到PhoneGapwww
文件夹中。 -
打开
www/index.html
文件并在closuresbody
标签之前添加下面的代码:(function onLoad() { var io; Object.defineProperty(window, 'io', { get: function get() { return io; }, set: function set(value) { var sails; io = value; // Immediately start connecting var socket = io.connect(backendURL); console.log('Connecting Socket.io to Sails.js...'); // Attach a listener which fires when a connection is established: socket.on('connect', function socketConnected() { console.log('Socket is now connected and globally accessible as `socket`.\n'); // set additional socket listeners here }); Object.defineProperty(io, 'sails', { get: function get() { return sails; }, set: function set(value) { sails = value; sails.url = 'backendUrl'; } }); } }); })();
- 创build您的PhoneGap项目。 它会产生PhoneGap项目文件夹内的
当然,不要忘记把它放在<script>
标签中,并为backendUrl
设置适当的值 – 这是你的SailsJS URL。
- 编译你的PhoneGap项目并享受
- npm WARN弃用minimatch@2.0.10,但我有一个更新的版本
- build立离子应用程序时找不到模块'shelljs'
- npm ERR! Windows_NT 6.3.9600,无法在windows8中安装cordova
- 在Visual Studio中使用带有Cordova App的socket.io(node.js)服务器
- phonegap运行android – 创build命令失败,退出代码8 – Linux
- 设置浏览器cookie
- 离子build立IOS没有什么,只是下降到下一行
- 在“make”命令中安装节点js错误:“目标配方”节点“失败”
- 为什么Cordova浏览器同步插件无法在干净的新的Apache Cordova应用程序上工作?