рд╣реЗ рд▓реЛрдЧреЛрдВ,
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рд╕реЗ rrule.js рдлрд╝рд╛рдЗрд▓ рдХреИрд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
import 'rrule';
рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ module.exports
рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рд╕рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░рд╛ рднреА рдЖрдмрд╛рджреА рдирд╣реАрдВ рд╣реИред
рдЬрдм рдореИрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдпрд╛рдд рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ:
import * as rrule from 'rrule';
рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ:
Error TS2307: Cannot find module 'rrule'.
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдХрднреА рдХреЛрдИ рдлрд┐рдХреНрд╕ рдвреВрдВрдврд╛?
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
http://jqfaq.com/how-to-use-external-js-in-typescript/
рдореИрдВ рдЕрдкрдиреА ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ RRule рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ (рдореЗрд░реЗ index.html рдкреГрд╖реНрда рдореЗрдВ rrule.js рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж):
// рдлрд╝рд╛рдЗрд▓ рдлреЙрд░реНрдо.ts
var RRule рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ: рдХреЛрдИ рднреА;
рдореЙрдбреНрдпреВрд▓ myapp.controllers {
class myClass {
constructor() {
var rule = RRule.fromString('FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13');
console.log(rule.toText());
}
}
}
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ -> rrule.d.ts
rrule.d.ts рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА:
declare var RRule: any;
declare var RRuleSet: any;
declare var rrulestr: any;
рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рд╡рд╣рд╛рдВ рдЙрдирдХреА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдлрд┐рд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП rrule.d.ts рдХреЛ index.d.ts рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ (рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рдЕрдкрдиреЗ рд╕рднреА d.ts рдХреЛ 1 рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ)
index.d.ts:
/// <reference path="globals/rrule/rrule.d.ts" />
рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
RRule.fromString('FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13');
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛
declare var RRule: any;
рд╣рд░ рдЬрдЧрд╣ рдлрд┐рд░ рд╕реЗред
рд╕рд╛рджрд░!
npm install @types/rrule
рдЪрд▓рд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред рдореИрдВ рддрдм рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
import { RRule, RRuleSet } from "rrule";
@ dennis2k рдФрд░ рдЖрдкрдиреЗ рдЗрд╕реЗ рд░реВрд▓реЗрд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ?
@uncledent рдореИрдВ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
var rrulestr = require('rrule').rrulestr
@ dennis2k рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Angular4 рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ :(
рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ Angular2/4 рдореЗрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд╕реБрдВрджрд░ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
declare function require(name:string);
var rrulestr = require('rrule').rrulestr;
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдорд░ рдЪреБрдХрд╛ рд╣реИред рдпрджрд┐ рдЕрдзрд┐рдХ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ!
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
npm install @types/rrule
рдЪрд▓рд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред рдореИрдВ рддрдм рдЗрд╕ рддрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛import { RRule, RRuleSet } from "rrule";