2016-02-29 14 views
7

GET http://localhost/ng2-cookies/ng2-cookies 404 (Not Found)Come usare Angular2 con NG2-cookie

Ecco il mio log degli errori.

Sto provando ad usare il modulo ng2-cookies sul mio progetto.

Ecco app.component.ts

import {Cookie} from 'ng2-cookies/ng2-cookies'; 
Cookie.setCookie('ticket_status', responses.data.ticket); 
console.log(Cookie.getCookie('ticket_status')); 

Che tipo di problema? Please help

+0

Qualsiasi messaggio di errore? qual è il comportamento previsto e quello effettivo? –

+0

Non ha alcun messaggio di errore.Si dice: "Sul terminale. 15:07:51 - Compilazione completata .Visualizzazione delle modifiche ai file." –

+0

@ Магнайбаяр Ганзориг, hai aggirare questo problema? Sono di fronte allo stesso. Ho provato questo (https://github.com/mgechev/angular2-seed/wiki/Add-external-dependency), ma non ha funzionato neanche. – dasnervtdoch

risposta

1

Penso che dovresti aggiungere una voce map nel tuo file di configurazione SystemJS. Qualcosa del genere:

<script> 
    System.config({ 
    defaultJSExtensions: true, 
    map: { 
     "ng2-cookies": 'node_modules/ng2-cookies' 
    }, 
    packages: { 
     (...) 
    } 
    }); 
</script> 
7

Ho affrontato un problema simile. Risolto facendo seguenti modifiche nel file system.config.js e ha funzionato -

  1. Aggiungere NG2-cookies per mappare l'ingresso 'NG2-cookies': 'node_modules/NG2-cookies'

  2. Aggiungere NG2-cookies ai pacchetti voce di 'NG2-cookies': {DefaultExtension: 'js'}

+0

Ho dovuto aggiungi 'main: './ index.js'' ai pacchetti, quindi sembrava più' ng2-cookies ': {main:' ./index.js ', defaultExtension:' js '}'. Avrei dovuto rispondere qui invece di postare la mia risposta - doh! Andando su questa risposta come le mie scuse =) –

2

Prova questo

Cookie.set('ticket_status', "hello"); 
console.log(Cookie.get('ticket_status')); 

Noi non abbiamo metodo come:

setCookie and getCookie in Js class 

Extract from JS class 


    /** 
    * Retrieves a single cookie by it's name 
    * 
    * @param {string} name Identification of the Cookie 
    * @returns The Cookie's value 
    */ 
    public static get(name: string): string { 
     if (Cookie.check(name)) { 
      name = encodeURIComponent(name); 
      let regexp = new RegExp('(?:^' + name + '|;\\s*' + name + ')=(.*?)(?:;|$)', 'g'); 
      let result = regexp.exec(document.cookie); 
      return decodeURIComponent(result[1]); 
     } else { 
      return ''; 
     } 
    } 


/** 
    * Save the Cookie 
    * 
    * @param {string} name Cookie's identification 
    * @param {string} value Cookie's value 
    * @param {number} expires Cookie's expiration date in days from now. If it's undefined the cookie is a session Cookie 
    * @param {string} path Path relative to the domain where the cookie should be avaiable. Default/
    * @param {string} domain Domain where the cookie should be avaiable. Default current domain 
    * @param {boolean} secure If true, the cookie will only be available through a secured connection 
    */ 
    public static set(name: string, value: string, expires?: number, path?: string, domain?: string, secure?: boolean) { 
     let cookieStr = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';'; 

     if (expires) { 
      let dtExpires = new Date(new Date().getTime() + expires * 1000 * 60 * 60 * 24); 
      cookieStr += 'expires=' + dtExpires.toUTCString() + ';'; 
     } 
     if (path) { 
      cookieStr += 'path=' + path + ';'; 
     } 
     if (domain) { 
      cookieStr += 'domain=' + domain + ';'; 
     } 
     if (secure) { 
      cookieStr += 'secure;'; 
     } 

     // console.log(cookieStr); 
     document.cookie = cookieStr; 
    } 
+0

perché questo commento ha -1? –

1

Prova usando questo.

import { Cookie }` from `'ng2-cookies/ng2-cookies'; 

Cookie.set('ticket_status', responses.data.ticket); 
0

Questo è ciò che ha funzionato per me.

map: { 
    ..., 
    'ng2-cookies': 'npm:ng2-cookies' 
}, 
packages: { 
    ..., 
    'ng2-cookies': { 
     main: './index.js', 
     defaultExtension: 'js' 
    }, 
} 
0

Simile alla alcune delle altre risposte ... ma questo è ciò che ha funzionato per me (4.0.3 angolare (non hanno avuto la possibilità di aggiornare a 5):

// systemjs.config.js 
map: { 
    ... 
    'ng2-cookies' : 'node_modules/ng2-cookies', 
} 
packages: { 
    ... 
    'ng2-cookies': {defaultExtension: 'js', main:'./index.js'} 
} 

// my app module 
import { CookieService } from 'ng2-cookies'; 
@NgModule({ 
    ... 
    providers: [ 
     ... 
     CookieService 
    ] 
}) 

// my components 
import { CookieService } from 'ng2-cookies'; 
constructor(private cookieService:CookieService){} 
Problemi correlati