2016-04-13 32 views
1

--updatekonuşlandırılmış açısal tam yığın için IIS 7.5 üzerinde angularjs dosyaları elde Nasıl

şimdi Im bu hatayı alıyorum ama yeniden yazar onun çalışma gibi görünüyor ama js html gibi dosyaları veya konuyla çeşit okur o enter image description here

gibi açısal tam yığın uygulaması için

dağıtmak IIS 7.5 üzerinde web.config için doğru yeniden yazma kuralları oluşturmak istiyorum Bu benim ama yapamıyorum this one kullanma ediyorum benim web.config olduğunu

01 sanal yolunu yapılandırın
<?xml version="1.0" encoding="utf-8"?> 
<configuration> 

<system.webServer> 
    <handlers> 
     <add name="iisnode" path="server.js" verb="*" modules="iisnode"/> 
    </handlers> 
    <iisnode node_env="PRODUCTION" 
    nodeProcessCountPerApplication="1" 
    maxConcurrentRequestsPerProcess="1024" 
    maxNamedPipeConnectionRetry="100" 
    namedPipeConnectionRetryDelay="250" 
    maxNamedPipeConnectionPoolSize="512" 
    maxNamedPipePooledConnectionAge="30000" 
    asyncCompletionThreadCount="0" 
    initialRequestBufferSize="4096" 
    maxRequestBufferSize="65536" 
    uncFileChangesPollingInterval="5000" 
    gracefulShutdownTimeout="60000" 
    loggingEnabled="true" 
    logDirectory="iisnode" 
    debuggingEnabled="true" 
    debugHeaderEnabled="false" 
    debuggerPortRange="5058-6058" 
    debuggerPathSegment="debug" 
    maxLogFileSizeInKB="128" 
    maxTotalLogFileSizeInKB="1024" 
    maxLogFiles="20" 
    devErrorsEnabled="true" 
    flushResponse="false" 
    enableXFF="false" 
    promoteServerVars="" 
    configOverrides="iisnode.yml" 
    watchedFiles="web.config;*.js" /> 
    <rewrite> 
     <rules> 
      <!-- Don't interfere with requests for node-inspector debugging --> 
      <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"> 
       <match url="^server.js\/debug[\/]?"/> 
      </rule> 

      <!-- serve static files from /public folder --> 
      <rule name="StaticContent"> 
       <action type="Rewrite" url="public/{R:0}" logRewrittenUrl="true"/> 
       <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> 
       </conditions> 
       <match url="public/*"/> 
      </rule> 

      <!-- All other URLs are mapped to the Node.js application entry point --> 
      <rule name="DynamicContent"> 
       <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> 
       </conditions> 
       <action type="Rewrite" url="server.js"/> 
      </rule> 
      <rule name="SocketIO" patternSyntax="ECMAScript"> 
       <match url="socket.io.+"/> 
       <action type="Rewrite" url="server.js"/> 
      </rule> 
     </rules> 
    </rewrite> 
    <!-- <appSettings> 
     <add key="virtualDirPath" value="/idetikmssql"/> 
    </appSettings> --> 

</system.webServer> 

BU BENİM server.js

   "use strict"; 

       var express = require('express'), 
        stylus = require('stylus'), 
        logger = require('morgan'), 
        bodyParser = require('body-parser'); 
       // determind what mode we are 
       var env = process.env.NODE_ENV = process.env.NODE_ENV||'developemnt'; 
       var virtualDirPath = process.env.virtualDirPath || ''; 
       var app = express(); 
       //configure the view engine 
       function compile(str, path) { 
        return stylus(str).set('filename', path); 
       } 


       app.set('views', __dirname + '/server/views/'); 
       app.engine('html', require('ejs').renderFile); 
       app.set('view engine', 'html'); 
       app.use(stylus.middleware(
        { 
          src: __dirname + 'public', 
          compile: compile 
        } 
      )); 
       app.use(bodyParser()); 

       var appPath = app.get('appPath') 
       app.use('/bower_components', express.static(appPath + "/bower_components/")); 
       app.use('/app/',    express.static(appPath + "/app/")); 
       app.use('/assets',   express.static(appPath + "/assets/")); 
       app.use(express.static(__dirname + '/public')); 
       app.get('/partials/:partialsPath', function (req, res) { 
        debugger; 
        res.render('partials/' + req.params.partialsPath); 
       }); 

       //the asterisk handles all routes includes javascript, css, html request... 
       app.get('*', function (req , res) { 
        res.render('index'); 
       }); 
       // app.get(virtualDirPath + '/', function(req, res) { 
       // res.render('index', { virtualDirPath: virtualDirPath }); 
       // }) 

       var PORT = 3030; 
       app.listen((process.env.PORT!==undefined)?process.env.PORT:PORT); 
       console.log('Listening to PORT : ' + process.env.PORT); 
       console.log(__dirname); 

BU BENİM index.html IS

  <!doctype html> 
      <!--[if lt IE 7]>  <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
      <!--[if IE 7]>   <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 
      <!--[if IE 8]>   <html class="no-js lt-ie9"> <![endif]--> 
      <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> 
      <head> 
       <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/> 
      <!-- <base href="/"> --> 
      <title></title> 
      <meta name="description" content=""> 
      <meta name="viewport" content="width=device-width"> 
      </head> 
      <body ng-app="idetikApp"> 
      <div ng-view=""></div> 
      </body> 
      <script type="text/javascript" src="app/app.js"></script> 
      <script type="text/javascript" src="bower_components/angular/angular.js"></script> 
      <script type="text/javascript" src="bower_components/angular-route/angular-route.js"></script> 
      <script type="text/javascript" src="bower_components/angular-resource/angular-resource.js"></script> 
      </html> 

benim dosya yapısı içindeki

enter image description here

012 IIS eklemek

MY ÇÖZÜMLERİNİN

--ONE sıfırdan bir ekspres uygulamayı yüklemeye çalıştı ve ben hiçbir liman process.env.PORT numarasını ve çalışan ama yine de tam yığını değiştirmek yapmanız gereken tüm işleri ben hala MY APP İNCE İŞLERİ BURADA

yardıma ihtiyacım henüz işe yapabilmek sonunda o iş yapılmış o kazma bir hafta sonra

enter image description here

cevap

0

Tamam Folks IIS, sağ yapılandırmasını aşağıdaki IIS 7.5 için,/partials klasörünüzün Hızlı yönlendirme için istemci/ortak klasör düzgün çalışması. https://github.com/cesarvega/MEAN-IIS7.5-Stack

İşte onun benim web.config

  <?xml version="1.0" encoding="utf-8"?> 
    <configuration> 
     <system.webServer> 
      <handlers> 
       <add name="iisnode" path="server.js" verb="*" modules="iisnode"/> 
      </handlers> 
      <iisnode node_env="PRODUCTION" 
      nodeProcessCountPerApplication="1" 
      maxConcurrentRequestsPerProcess="1024" 
      maxNamedPipeConnectionRetry="100" 
      namedPipeConnectionRetryDelay="250" 
      maxNamedPipeConnectionPoolSize="512" 
      maxNamedPipePooledConnectionAge="30000" 
      asyncCompletionThreadCount="0" 
      initialRequestBufferSize="4096" 
      maxRequestBufferSize="65536" 
      uncFileChangesPollingInterval="5000" 
      gracefulShutdownTimeout="60000" 
      loggingEnabled="true" 
      logDirectory="iisnode" 
      debuggingEnabled="true" 
      debugHeaderEnabled="false" 
      debuggerPortRange="5058-6058" 
      debuggerPathSegment="debug" 
      maxLogFileSizeInKB="128" 
      maxTotalLogFileSizeInKB="1024" 
      maxLogFiles="20" 
      devErrorsEnabled="true" 
      flushResponse="false" 
      enableXFF="false" 
      promoteServerVars="" 
      configOverrides="iisnode.yml" 
      watchedFiles="web.config;*.js" /> 
      <rewrite> 
       <rules> 
        <!-- Don't interfere with requests for node-inspector debugging --> 
        <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"> 
         <match url="^server.js\/debug[\/]?"/> 
        </rule> 
        <!-- serve static files from /public folder --> 
        <rule name="StaticContent"> 
         <action type="Rewrite" url="public/{R:0}" logRewrittenUrl="true"/> 
         <conditions> 
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> 
         </conditions> 
         <match url=".*" /> 
        </rule> 
        <rule name="DynamicContent"> 
         <conditions> 
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> 
         </conditions> 
         <action type="Rewrite" url="server.js"/> 
        </rule> 
        <rule name="SocketIO" patternSyntax="ECMAScript"> 
         <match url="socket.io.+"/> 
         <action type="Rewrite" url="server.js"/> 
        </rule> 
       </rules> 
      </rewrite> 
     </system.webServer> 
    </configuration> 

Server.js

 "use strict"; 
     var express = require('express'), 
       stylus = require('stylus'), 
       logger = require('morgan'), 
       bodyParser = require('body-parser'); 
     var env = process.env.NODE_ENV = process.env.NODE_ENV||'developemnt'; 
     var app = express(); 
     //configure the view engine 
     function compile(str, path) { 
       return stylus(str).set('filename', path); 
     } 
     app.set('views', __dirname + '/server/views/'); 
     app.engine('html', require('ejs').renderFile); 
     app.set('view engine', 'html'); 
     app.use(stylus.middleware(
       { 
        src: __dirname + 'public', 
        compile: compile 
       } 
     )); 
     app.use(bodyParser()); 
     app.use(express.static(__dirname + '/public')); 

     app.get('/partials/:partialsPath', function (req, res) { 
       res.render('/node/idetikmssql/partials/' + req.params.partialsPath); 
     }); 
     app.get('*', function (req , res) { 
       res.render('index'); 
     }); 
     var PORT = 3030; 
     app.listen((process.env.PORT!==undefined)?process.env.PORT:PORT); 
     console.log('Listening to PORT : ' + process.env.PORT); 
     console.log(__dirname); 

endeksi dosyası: Burada

bir GIT-HUB PROJECT

bağlantı için bağlantı olduğunu. html

Kamu

angular.module('idetikApp', [ 'ngResource', 'ngRoute']); 

angular.module('idetikApp').config(function ($routeProvider, $locationProvider) { 
    //$locationProvider.html5Mode(true); 
    $routeProvider.when('/', {templateUrl: 'public/partials/main.html', controller:'mainctrl'}) 

}); 

angular.module('idetikApp').controller('mainctrl', function ($scope) { 
    $scope.mayvar = "Hello from client Node JS " 
}) 

YThe main içindeki

<!doctype html> 
<!--[if lt IE 7]>  <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
<!--[if IE 7]>   <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 
<!--[if IE 8]>   <html class="no-js lt-ie9"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> 
    <head> 
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/> 
    <!-- <base href="/node/idetikmssql/"> --> 
    <title></title> 
    <meta name="description" content=""> 
    <meta name="viewport" content="width=device-width"> 
    </head> 
    <body ng-app="idetikApp"> 
    <div ng-view=""></div> 
    </body> 
    <script type="text/javascript" src="bower_components/angular/angular.js"></script> 
    <script type="text/javascript" src="bower_components/angular-route/angular-route.js"></script> 
    <script type="text/javascript" src="bower_components/angular-resource/angular-resource.js"></script> 
    <script type="text/javascript" src="app/app.js"></script> 
</html> 

app.js.

<h1>this is a partial</h1> 
<h2>{{mayvar}}</h2> 

ve html

nihayet dosya yolları ve sunucu için dosya yapısı ile konfigürasyonları IIS

enter image description here

SUNUCU YAPILANDIRMA

enter image description here