Angular 角度通用启动器,生产中的本地存储:使用';窗口';在browser.module中,使用生产构建引用本地存储中断
关于使用localstorage和angular2,这里有一个很好的问答 这种方法似乎在“npm启动”时运行良好。但是,当您运行“npm运行生成”时,会出现以下错误: 类型“typeof../browser.module”上不存在属性“window” 出现了 上面写着“全球通缉” 窗口、文档、导航器和其他浏览器类型-在上不存在 服务器-因此使用它们,或任何使用它们的库(jQuery for 示例)将不起作用。如果你真的需要,你确实有一些选择 一些功能:如果需要使用,请考虑限制。 仅将它们发送给您的主要客户,并在特定情况下使用 从Universal导入的iBrowser/iNode功能。进口{ isBrowser,isNode}来自“angular2 universal”;另一个选择是使用 “角度/平台浏览器”中的DOM isBrowser包装器或使用平台浏览器是否适合在此处引用localStorage?有没有最好的写作方法的例子 e、 g在browser.module.ts中,是否应该为可分发捆绑包包装window.localStorageAngular 角度通用启动器,生产中的本地存储:使用';窗口';在browser.module中,使用生产构建引用本地存储中断,angular,angular-universal,Angular,Angular Universal,关于使用localstorage和angular2,这里有一个很好的问答 这种方法似乎在“npm启动”时运行良好。但是,当您运行“npm运行生成”时,会出现以下错误: 类型“typeof../browser.module”上不存在属性“window” 出现了 上面写着“全球通缉” 窗口、文档、导航器和其他浏览器类型-在上不存在 服务器-因此使用它们,或任何使用它们的库(jQuery for 示例)将不起作用。如果你真的需要,你确实有一些选择 一些功能:如果需要使用,请考虑限制。 仅将它们发送给您
import {LocalStorage} from './local-storage.ts';
export function ngApp() {
return bootstrap(App, [
// ...
UserService,
{ provide: LocalStorage, useValue: window.localStorage}
]);
使用“npm运行-构建”可分发捆绑包
import {LocalStorage} from './local-storage.ts';
export function ngApp() {
return bootstrap(App, [
// ...
UserService,
{ provide: LocalStorage, useValue: window.localStorage}
]);
另外,在运行npm start时,我会收到错误消息:意外的令牌u。
这似乎来自文件node.module.ts中的useValue中的“u”,因为该值已消失,并被替换为“没有令牌本地存储的提供程序!”
...
providers: [
// ...
UserService,
{provide: LocalStorage, useValue: {getItem() {} }}
]
...
任何人都会得到类似的东西。想法?对于实际无法访问
窗口的服务器,您可以使用“假”存储服务,并使用DI在服务器模块上对其进行设置,而右侧的窗口可以访问浏览器模块。可以找到一个很好的例子谢谢Issac,我会在这个周末试一试,让你知道它是如何进行的。