vue init simulatedgreg/electron-vue <my project name>
を使用して新しいvue-electronプロジェクトを作成しました。私は輸入そのコンポーネントとそれがSQLiteデータベースからのタグのリストを引っ張って、正しくレンダリングすることTagger.vueを持ってvue-electronコンポーネント間で共有Javascriptコードをロード
<template>
<ul>
<li v-for="tag in tags">
<input type="checkbox" :id="tag" :value="tag" v-model="selectedTags">
<label :for="tag">{{ tag }}</label>
</li>
</ul>
</template>
<script>
export default {
data() {
var db, sqlite3, tags;
sqlite3 = require('sqlite3');
db = new sqlite3.Database('/tmp/tagister.tmp.sqlite3');
tags = [];
db.each("SELECT id,tag FROM tags", function(err, row) {
tags.push(row.tag)
});
db.close;
return {
tags: tags,
selectedTags: ['someTag']
}
}
}
</script>
<style>
</style>
:私はそうのようなデータベースバックエンドを使用して、いくつかの基本的なコンポーネント(src/rendered/components/Tagger/TagList.vue
)を作成することができます。
私は複数のコンポーネントで使用できるように、データベースコードを抽象化したいと思います。私はdatabase.js
を作成しました。私はsrc
とsrc/main
に置く試み、var db = requrie('database')
とvar db = require('src/main/database')
や他のいくつかのバリエーションを使用して、それをインポートしようとしました
"use strict";
sqlite3 = require('sqlite3')
export default class Database {
constructor(dbFile) {
this.db = new sqlite3.Database(dbFile);
log.console('Opened Database: ' + dbFile)
}
tags() {
var tags = [];
this.db.each("SELECT id,tag FROM tags", function(err, row) {
tags.push(row.tag)
});
return tags;
}
files() {
var files = [];
this.db.each("SELECT id,name FROM files", function(err, row) {
files.push(row.name)
});
return files;
}
close() {
this.db.close();
}
}
が、私はいつもモジュールが見つからないというエラーが表示されます。それはこのようになります。 vue-electronプロジェクトでモジュールをビルドしてインポートする正しい方法は何ですか?