小编Aug*_*ner的帖子

带有Lazy-Loaded路由的Angular CLI HMR会重新加载整个内容

(即使使用Angular 7也确认了问题).让我们解决这个问题!

我正在使用HMR设置:https://github.com/angular/angular-cli/wiki/stories-configure-hmr from a ng newbuild build.

如果我更改任何组件并使其延迟加载,角度HMR将热重新加载所有内容,使页面同步更慢.

我知道这是因为它默认设置为console.log每个正在重新加载的模块,当我使用惰性路由时,它会记录所有内容.但是当我将该组件更改为非延迟加载时,它只记录一些小组件.

因此,当我使用HMR和懒惰路由时,我的应用程序需要几秒钟才能刷新.这很烦人.

有没有办法解决?

(懒惰的加载路线是通过这样的方式完成的)

// Main homepage
{
  path: '',
  loadChildren: './public/home/home.module#HomeModule'
},
// ...
Run Code Online (Sandbox Code Playgroud)

(只是一个例子,表明我正在以正确的方式加载)

这里有一些日志记录显示我懒惰加载时会发生什么 home.component.ts

// Everything here is normal, great!
[HMR]  - ../../../../../src/app/public/home/home.component.html
log.js:23 [HMR]  - ../../../../../src/app/public/home/home.component.ts
log.js:23 [HMR]  - ../../../../../src/app/public/home/home.module.ts
log.js:23 [HMR]  - ../../../../../src/app/public/home/home.routing.ts
// Everything below here is NOT normal, bad!  All this is extra.  These are my modules, yes, but all this needs to be loaded again?
log.js:23 …
Run Code Online (Sandbox Code Playgroud)

webpack-hmr angular-cli hot-module-replacement angular angular7

62
推荐指数
1
解决办法
2291
查看次数

角度材料对话框和热模块重新加载

到目前为止,我已成功完成以下工作:

✓HMR(热模块重新加载)设置
✓角度(5)和材料运行良好
✓打开一个对话框(下面的代码片段)

// ...
constructor(private dialog: MatDialog){}
//...
public openDialog(){
    this.dialogRef = this.dialog.open(someDialogComponent, {
      width: '300px'
    });
}
Run Code Online (Sandbox Code Playgroud)

✓在对话框或对话框的父控制器上进行更改
✓MMR被触发(yay)
✖对话框挂起死机状态,由于对话框和背景被"卡住"而无法点击,页面基本上被冻结

我试图挂钩ngOnInitngOnDestroy在父或对话框控制器中关闭对话框引用,如果存在,我也尝试过dialog.closeAll(),但这没有用.此外,理想情况下,对话框不必关闭,但我似乎无法修复此僵尸对话框问题.

有没有遇到过这个?

webpack-hmr angular-material2 angular

8
推荐指数
1
解决办法
786
查看次数

未安装PhoneGap"git"命令行工具

我按照phonegap网站安装说明使用Phonegap 3.0和命令行界面.我在iOS上创建了一个应用程序:

npm install -g phonegap ...

phonegap create Test -n Test (创建名为"Test"的应用程序并位于"Test"文件夹中)

phonegap build ios 然后...

phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git 哪个响应此错误:

Error fetching plugin: Error: "git" command line tool is not installed: make sure it is accessible on your PATH.

现在,我已经尝试安装"git"命令行工具,但我不确定我是否正确安装,或者我是否正在下载正确的东西,或者如何将PATH对齐以便访问.

有什么建议吗?有没有人处理或看过这个?非常感谢你

git iphone command-line-interface ios cordova

7
推荐指数
2
解决办法
1万
查看次数

AngularJS现在对SEO安全了吗?

这个问题与本课题不重复,该课题提供了有关该主题的重要信息.

我特别想知道,现在,在2014年,如果我不得不担心Angular不会为GoogleBot渲染,或GoogleBot会对加载时间进行惩罚.

谷歌说我不必担心(有点),但我真的不想假设.

具体来说,我有一个相对立即加载的网站然后获取AJAX内容(如facebook的新闻提要),并填补内容的空白.

我知道prerender.io并完全理解缓存页面并将其交付给搜索机器人的概念.我想知道的是 - 这是必要的 - 并且更进一步,这种缓存对SEO有什么样的影响力.


场景1

PHP驱动的页面,需要1500ms来加载所有内容并显示它.

情景2

角度驱动的单页面应用程序,在500毫秒内加载,然后需要1000毫秒才能显示AJAX数据(总计1500毫秒)

场景3

使用预渲染(或类似)缓存中间件,并在XXXms中呈现相同的页面.


选项2"安全"吗?对于搜索引擎优化,谷歌将这种风格排名比其他两种更严厉?

如果Googlebot要坐下来等待1000毫秒的内容进行渲染,并为该结果编制索引,我实际上印象非常深刻.我认为,在实践中,这种渲染页面的技术只有在正确完成时才会更加用户友好(并且很容易弄乱它).

开发人员如何确信他们的内容将为自己或最终用户客户端正确呈现?

javascript seo googlebot google-search angularjs

5
推荐指数
0
解决办法
842
查看次数

FontIcons 当我用完“浏览量”时会发生什么?

https://fonticons.com/是一项购买自定义字体图标的服务。例如:<i class="li li-like"></i>每个计划都指定了有限数量的页面浏览量。我的直接想法是:“什么?”...除非您购买更高的计划,否则他们真的会停止显示您的图标吗?我想这个问题的答案是“是”,但我只是想说得清楚一点,我不知道该问哪里。似乎他们应该在文档中详细说明。如果这是 StackExchange 的错误部分,我深表歉意。
ps 我理解这样的定价计划背后的推理、带宽、CDN 使用等。FWIW,我认为我的问题的答案是显而易见的,但在他们的常见问题解答中没有明确说明。也许它显示一个空白方块,我不知道。

html css fonts font-awesome

5
推荐指数
0
解决办法
998
查看次数

角度重定向到刷新时回家

如果用户碰巧从任何其他路线刷新,那么将用户引导到主页的最佳方式是什么(如果你正在使用ui-router,就像我一样说明状态).

例如 - 我希望它们从inventory页面开始.如果他们想要进行编辑,他们会前往edits页面,但如果他们刷新该页面,他们会inventory再次直接进入该路径.

angularjs angularjs-directive angular-services angular-ui-router

4
推荐指数
1
解决办法
9213
查看次数

Phonegap/Cordova中的"查看此应用程序"链接

我正在对Phonegap/Cordova内置的iOS/Android应用程序进行最后润色.信息页面将提供查看应用程序的链接,我正在尝试实施它.

这篇StackOverflow Post有很多关于如何格式化链接的文档:

...if (device_ios) {
       window.open('itms-apps://itunes.apple.com/us/app/domainsicle-domain-name-search/id511364723?ls=1&mt=8'); // or itms://
   } else if (device_android) {
       window.open('market://details?id=<package_name>');
   } else if (device_bb) {
       window.open('http://appworld.blackberry.com/webstore/content/<applicationid>');
   }....
Run Code Online (Sandbox Code Playgroud)

现在我想知道在我的应用程序实际被苹果批准之前是否有任何方法可以创建这些链接.在我看来,我首先需要提交应用程序,获取应用程序ID /链接,然后输入新生成的审查链接?出于测试目的,这并不完全理想.实现这一目标的最佳方法是什么?

android ios cordova

3
推荐指数
1
解决办法
3524
查看次数

Angular UI-router设置网站入口点.重定向到主页URL

我正在使用Angular和UI路由器,我希望用户始终(或者在大多数情况下,但为了简洁,我们可以说"总是")在我的主页step1上进入web应用程序.

UI路由器配置速记:

.config(function($stateProvider, $urlRouterProvider) {

    // route to root if no valid route found
    $urlRouterProvider.otherwise('/step1');

    var step1 = {
        name : 'step1',
        url : '/step1',
        templateUrl: 'partials/step1.html'
    };
    var step2 = {
        name : 'step2',
        url : '/step2',
        templateUrl: 'partials/step2.html'
    };
    .
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

我可以做一个解决方案或指定一个控制器,只需设置$ location.path('/ step1'),但是有一种方法可以设置一个入口点,并且步骤2 /步骤3的URL只能在从步骤1开始后才能到达,没有重定向的成本?
提前致谢

javascript angularjs angular-services angular-ui-router

3
推荐指数
2
解决办法
4350
查看次数