将Prerender.io添加到现有angularJS webapp

时间:2016-01-21 00:32:01

标签: angularjs node.js express prerender

我一直在尝试设置我的Angular webApp以使用prerender.io但是我的应用程序没有任何他们想要的内置中间件;我已经决定使用express.js,因为大多数教程都是使用此设置项目。

Example setup

如果我使用express.js生成器插件创建新项目,我可以创建一个与prerender一起工作的项目。多数民众赞成所有善良和花花公子,但它并没有真正帮助我;因为我不是在创建一个项目,而是想在现有项目中添加预呈现。有没有办法创建一个新的express.js项目并导入一个完整的角度应用程序(具有所有文件夹结构;等,基本上将应用程序的根目录移动到新的快速应用程序)到其中并使所有路由等不受影响?

如何将Prerender添加到已创建的angularJS webapp中? (就像下面看到的基本一样)我一整天都尝试了很多次,最后在我的项目中安装了大量丑陋的依赖,并且不得不将它们全部删除;任何帮助表示赞赏。 ::

app.js:

// app.js

var app = angular.module('myPremadeApp', ['ngRoute']) 

$locationProvider.hashPrefix('!');

.config(function($routeProvider, $locationProvider){ 

  $routeProvider.when('/', { 
    templateUrl : 'views/homeView.html', 
    controller: 'homeController' 
  })
  .when('/about', {
      templateUrl : '/views/aboutView.html',
      controller: 'aboutController'
  })
  .when('/features', {
      templateUrl : '/views/featuresView.html',
      controller : 'featuresController'
  })
  .otherwise({
          redirectTo : '/'
  });

});

function mainController($scope) { 

  $scope.seo = { 
    pageTitle : '', pageDescription : '' 
  }; 
}

function homeController($scope) { 

  $scope.$parent.seo = { 
    pageTitle : 'setup the thing', 
    pageDescripton: 'stuff for description' 
  }; 
}

function aboutController($scope) { 
  $scope.$parent.seo = { pageTitle : 'About', 
    pageDescripton: 'We are a content heavy website so we need to be indexed.' 
  }; 
}

function featuresController($scope) { 
  $scope.$parent.seo = { pageTitle : 'Features', pageDescripton: 'Check out some of our awesome features!' }; 
}

0 个答案:

没有答案