рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдВрдЧреБрд▓рд░ 7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЕрдкреЛрд▓реЛ-рд░реЗрд╕реНрдЯ рд▓рд┐рдВрдХ 0.7.3
рдореИрдВ рдЕрдВрдд рдореЗрдВ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ global
рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ:
core.js:15724 ERROR Error: Network error: global is not defined
at new ApolloError (bundle.esm.js:60)
at Object.error (bundle.esm.js:1032)
at notifySubscription (Observable.js:134)
at onNotify (Observable.js:165)
at SubscriptionObserver.error (Observable.js:224)
at Object.error (Observable.js:463)
at notifySubscription (Observable.js:134)
at onNotify (Observable.js:165)
at SubscriptionObserver.error (Observable.js:224)
at bundle.umd.js:807
рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реВрдБ
const restLink = new RestLink({
uri: 'http://localhost:5000/api',
credentials: 'same-origin',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
}
});
return {
link: restLink,
cache
};
рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рд╣реИ:
export const addTodo = gql`
mutation addTodo($input: Todo!){
addTodo(input: $input) @rest( type: "Todo", method: "POST", path: "/todos" ) {
...todoFragment
}
}
${todoFragment}
`;
рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:
add(text: string): void {
this.apollo.mutate({
mutation: addTodo,
variables: {
input: {
description: text,
completed: false
}
}
}).subscribe(({data}) => {
console.log('got data', data);
}, (error) => {
console.log('there was an error sending the query', error);
});
рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рд╡рд╛рд▓реА рд░реЗрдЦрд╛ рдЪрд┐рддреНрд░ рдкрд░ рдиреАрдЪреЗ рд╣реИ
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ рдпрд╣ global.FileList
рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ?
// FileList/File are only available in some browser contexts
// Notably: *not available* in react-native.
if ((global.FileList && object instanceof FileList) ||
(global.File && object instanceof File)) {
// Object is a FileList or File object => no keys to convert!
return object;
}
рдпрд╣ рд╢реБрд░реВ рдореЗрдВ рдХреЛрдгреАрдп-рдХреНрд▓реА рд╕рдорд╕реНрдпрд╛ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкреЙрд▓реАрдлрд╝рд┐рд▓реНрд╕ рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝рдиреА рдереА
https://github.com/angular/angular-cli/issues/8160
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: globals does not exists in browser and should not be in the client-side code
?
рдХреНрдпрд╛ рдпрд╣ рд╡рд╣рд╛рдВ рдЖрд░рдИрдПрд╕рдЯреА рд▓рд┐рдВрдХ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЦрдмрд░ рд╣реИ, рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡ рдФрд░ рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ, global
рдореМрдЬреВрдж рд╣реИ? рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ, global
рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдВрдбреЛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХреБрдЫ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: window.global = window
рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реЛрдЧрд╛?
рдореИрдВрдиреЗ рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╡рд╣ рдПрдВрдЧреБрд▓рд░ рдкрд░ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рд╡реЗ рдЗрд╕реЗ рдПрдХ рдмрд┐рд▓реНрд▓реА рдорд╛рдирддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдиреАрдЪреЗ рдпрд╣реА рдХрд┐рдпрд╛ рд╣реИ:
https://github.com/fkolar/todo-rest/blob/master/src/polyfills.ts
рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╣реИрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЖрдк рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓рд╛рдирд╛ рд╣реИ, рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдкрд░ред рдпрджрд┐ рдЖрдк рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ/рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдПрдХ рдмрджрд▓рд╛рд╡ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реВрдВрдЧрд╛! рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ window
рдореЛрдмрд╛рдЗрд▓ рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдпрд╣рд╛рдВ рдереЛрдбрд╝реЗ рдлрдВрд╕ рдЧрдП рд╣реИрдВ!
рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкреНрд░рд╣рд╛рд░ рдХрд┐рдпрд╛ рд╣реИ .. рдХреНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ?