草庐IT

performance - Page Speed - 消除渲染阻塞

全部标签

javascript - 如何仅在 ReactJS 中完成 http 请求后才进行渲染

我只需要在完成对componentDidMount函数的请求后调用我的组件的渲染函数。componentDidMount(){letctx=this;ApiService.get('/busca/empresa/pagina').then(function(response){if(response.data.empresa){ctx.setState({company:response.data.empresa});ctx.getProducts();ctx.verifyAuthentication();}},function(error){Notification.error('H

javascript - 从 json 数据动态渲染 React 组件

我有一个像这样的json对象:letdata={UI:{"baseType":"App","children":[{"baseType":"TextField","props":{}}]}};我想把它渲染成:所以,我需要从json对象中获取动态渲染的组件。同样,我写了一个方法:getFromJson(obj){//letType=obj.baseType;letchildren=obj.children?obj.children.map((obj)=>{returnthis.getFromJson(obj,obj.baseType);}):'';//{children});case"T

javascript - 在 React 组件中渲染 Phaser.io Canvas

importReact,{Component}from'react';importPhaserfrom'phaser';exportdefaultclassAppextendsComponent{constructor(props){super(props);this.game=null;this.create=()=>{this.game.stage.backgroundColor='#124184';}}componentDidMount(){this.game=newPhaser.Game(800,600,Phaser.CANVAS,'phaser-target',{create

javascript - 使用 AOT 动态渲染延迟加载模块中的组件抛出找不到组件工厂

当前行为我在模块中将这些动态组件声明为入口组件,我也想在其中呈现它们。使用JIT它工作正常。以下结构包含我要呈现的我的应用程序部分:app->home(lazy)->contracts(lazy)->search。因此,我将这些组件添加到用于搜索组件/路由的模块中。当我使用AOT进行编译时,每次我访问搜索路径时,应用程序都会告诉我没有组件工厂。当然,我搜索了谷歌并找到了一些结果:我尝试将它们添加到ANALYZE_FOR_ENTRY_COMPONENTS提供程序,我尝试在我的app.module中导入带有.forRoot()的ModuleWithProviders,我还尝试简单地导入和声

javascript - 在 AngularJS 中使用 $controller 时如何消除缩小错误

angular.module('mainApp').controller('dynamicRouteController',['$scope','$controller','$routeParams',function($scope,$controller,$routeParams){if(/^\d+$/.test($routeParams.pageOrName)){$scope.controller=$controller('thisController',{$scope:$scope}).constructor;$scope.templateUrl='/www/thisPage';

javascript - Marionette.js CollectionView,只渲染特定模型

我正在重构我的Backbone.js应用程序以使用Marionette.js,并且我正在尝试围绕CollectionView进行思考。假设我有几个模型为Cow的ItemView://Declaremymodels.varCow=Backbone.Model.extend({});varCows=Backbone.Collection.extend({model:Cow});//MakemyviewsvarGrassPatch=Marionette.ItemView.extend({tagName:'div',template:"{{name}}",})varPasture=Marion

javascript - ReactJs 上的无限循环渲染组件

我遇到了无限循环问题,但我看不出是什么触发了它。它似乎在渲染组件时发生。我有三个组件,组织如下:TimelineComponent|--PostComponent|--UserPopoverTimelineComponenet:React.createClass({mixins:[Reflux.listenTo(TimelineStore,'onChange'),],getInitialState:function(){return{posts:[],}},componentWillMount:function(){Actions.getPostsTimeline();},render

javascript - 如何处理响应服务器端渲染的 css 导入

这与ImportingCSSfilesinIsomorphicReactComponents非常相似但建议的解决方案提出了一个条件语句,用于检查导入是从服务器还是浏览器完成的。问题是我在组件本身中使用导入对象,如下所示Signupwithgithub但是style是未定义的,因为我没有在服务器上导入它。另一种方法建议使用webpack-isomorphic-tools,它也要求我捆绑服务器端代码。这种方法还迫使您在我不喜欢的服务器端使用webpack。基本上这是我的组件importReactfrom'react';importSignUpfrom'./SignUp'import{Lin

javascript - enzyme 浅渲染正在渲染子组件

我正在尝试浅渲染组件以执行一些基本的单元测试。我正在执行此操作的组件有两个子组件,每个子组件根据父组件渲染多次。当查询浅渲染组件时,子元素也被完全渲染,这意味着子元素的HTML元素也可以访问。我正在使用Karma、Browserify、Jasmine和Enzyme,如果需要,可以发布每个的配置。以前有人见过类似的行为吗? 最佳答案 这是正确的行为。与enzyme的其他渲染方法不同的是,它不调用任何生命周期方法,也不转换为真正的html,但它会渲染它的所有子项和子项的子项等等。 关于jav

javascript - 如何消除 angular-cli 站点中的渲染阻塞?

运行ngbuild--prod后,我可以进入新创建的dist文件夹中的index.html文件并添加async属性绑定(bind)的脚本标签,以防止它们被阻塞。这有助于提高网站速度,但偶尔会导致网站崩溃。angular-cli.json中是否有一个选项可以在构建过程中以更好的方式为我添加这个?我通过谷歌测试我的网站来运行我的网站,我唯一需要修复的是消除渲染阻塞JavaScript和css在首屏内容中下面是我从https://developers.google.com/speed/pagespeed/insights/得到的更具体的结果消除首屏内容中的渲染阻塞JavaScript和CSS