我正在使用带有AngularJs的Ionic Framework来创建一个Web应用程序。现在我有一堆我的应用程序与静态信息,我想现在更新服务以利用数据库。我正在寻找具有离子框架和角度的数据库的最佳行动方案。有人告诉我,Sqlite是最好的选择。
我最终访问了以下网站:https://www.thepolyglotdeveloper.com/2014/11/use-sqlite-instead-local-storage-ionic-framework/我提到要运行cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin.git
。
我第一次尝试运行该命令似乎更新了我的应用程序的 platforms / 目录下的很多文件,我觉得这很奇怪。我不确定我是否应该将它们添加到我的存储库中。
无论如何,我得到的问题是。我想在我的机器上运行一个npm安装,无论谁拉我的代码,一切都会好的。我怎么会有这个插件git网站所以当安装运行时,它将运行这个文件。
编辑我不确定是否就像将这个URL添加到packages.json文件中的cordovaPlugins列表一样简单。我现在要测试一下。
答案 0 :(得分:2)
无论何时添加插件,都可以将--save
标志添加到cordova / ionic命令中,以将它们保存到package.json中。这样当有人拉入你的项目时,他们可以运行ionic state reset
,这会导致ionic从package.json文件中安装所有的cordova插件。
答案 1 :(得分:0)
我不确定这是不是最好的方法,但我做的是:
在scripts/setup.js
中创建了一个脚本文件,其中包含以下代码。
#!/usr/bin/env node
//This script will add or remove all plugins listed in package.json
//usage: node platforms.js [add | remove]
var command = process.argv[2] || 'add';
var packageJson = require('../package.json');
var fs = require('fs');
var path = require('path');
var sys = require('sys')
var exec = require('child_process').exec;
packageJson.cordovaPlatforms.forEach(function(platform) {
var platformCmd = 'cordova platform ' + command + ' ' + platform;
exec(platformCmd);
});
//Set up Plugins.
var command = process.argv[2] || 'add';
var packageJson = require('../package.json');
var fs = require('fs');
var path = require('path');
var sys = require('sys')
var exec = require('child_process').exec;
function createAddRemoveStatement(plugin) {
var pluginCmd = 'cordova plugin ' + command + ' ';
if(typeof plugin === 'string') {
pluginCmd += plugin;
} else {
if(command === 'add') {
pluginCmd += plugin.locator + ' ';
if(plugin.variables) {
Object.keys(plugin.variables).forEach(function(variable){
pluginCmd += '--variable ' + variable + '="' + plugin.variables[variable] + '" ';
});
}
} else {
pluginCmd += plugin.id;
}
}
return pluginCmd;
}
function processPlugin(index) {
if(index >= packageJson.cordovaPlugins.length)
return;
var plugin = packageJson.cordovaPlugins[index];
var pluginCommand = createAddRemoveStatement(plugin);
console.log(pluginCommand);
exec(pluginCommand, function(){
processPlugin(index + 1);
});
}
processPlugin(0);
然后,此文件将检查cordovaPlatforms部分和cordovaPlugins部分,以查找需要添加的内容,然后添加它们。
然后我进入 packages.json 并添加:
"scripts": {
"postinstall":"node scripts/setup.js"
}
然后在npm安装完成后,它将运行设置脚本,相应地添加所有必需的平台和插件。