Ich habe eine eckige 2/4 App, die ich mit angle-cli (v 1.3.2) eingerichtet habe. Ich habe einen MAMP mysql Server, den ich in Sequel Pro sehen kann.Modul nicht gefunden Fehler mit Sequelize mit angular-cli
Um mit Sequelize verbinden, folgte ich der getting started docs. (Und ich habe @types/sequelize installiert.) Aber ich bekomme Module not found: Error: Can't resolve...
für die mysql und postgres Dialekte.
Hier ist mein Code:
import { Injectable } from '@angular/core';
import * as Sequelize from 'sequelize';
@Injectable()
export class DataService{
public sequelize: Sequelize.Sequelize;
constructor(){
this.sequelize = new Sequelize('local-db', 'username', 'password', {
host: 'localhost',
dialect: 'mysql',
pool: {
max: 5,
min: 0,
idle: 10000
}
});
this.init();
}
public init(){
this.sequelize.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
})
.catch(err => {
console.log('Unable to connect to the database:');
console.error(err);
});
};
}
Vielleicht webpack auf einige faul geladenen Ressourcen von 3rd-Party-Bibliotheken ersticken könnte (nur raten von this issue)? Also, habe ich sequelize als externe Bibliothek in meiner .angular-cli.json:
"scripts": [
"../node_modules/sequelize/lib/sequelize.js"
]
Aber ich bin die gleichen Fehler immer:
ERROR in ./node_modules/sequelize/lib/dialects/mssql/query.js
Module not found: Error: Can't resolve 'tedious' in '[MYAPPROOT]/node_modules/sequelize/lib/dialects/mssql'
resolve 'tedious' in '[MYAPPROOT]/node_modules/sequelize/lib/dialects/mssql'
Parsed request is a module
using description file: [MYAPPROOT]/node_modules/sequelize/package.json (relative path: ./lib/dialects/mssql)
Field 'browser' doesn't contain a valid alias configuration
after using description file: [MYAPPROOT]/node_modules/sequelize/package.json (relative path: ./lib/dialects/mssql)
resolve as module
[MYAPPROOT]/node_modules/sequelize/lib/dialects/mssql/node_modules doesn't exist or is not a directory
[MYAPPROOT]/node_modules/sequelize/lib/dialects/node_modules doesn't exist or is not a directory
[MYAPPROOT]/node_modules/sequelize/lib/node_modules doesn't exist or is not a directory
[MYAPPROOT]/node_modules/node_modules doesn't exist or is not a directory
yada
yada
yada
Ich sehe in dem sequelize Anschluss-Manager. js, das Finden von Modulen könnte ein Problem sein:
if (err.code === 'MODULE_NOT_FOUND') {
throw new Error('Please install \'' + (sequelize.config.dialectModulePath || 'pg') + '\' module manually');
}
Aber ich habe mysql2 installiert, pro begonnen Richtungen.
Was fehlt also? Jede Hilfe mit diesem Geheimnis würde sehr geschätzt werden!