2016-04-13 3 views
1

--updateWie die Angularjs Dateien auf IIS 7.5 für Winkel Full-Stack erhalten eingesetzt

jetzt Im diesen Fehler, aber die Neufassungen sieht aus wie seine Arbeits aber es liest js Dateien wie HTML oder irgendeine Art von Problem wie es enter image description here

ich möchte die richtigen Wiederschreibregeln für web.config auf IIS 7.5 für Winkel Full-Stack-Anwendung erstellen

einsetzen Das ist mein web.config ich this one bin mit aber ich kann nicht Konfigurieren Sie den virtuellen Pfad

<?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> 

THIS IS MY 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); 

THIS IS MY INDEX.HTML

  <!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> 

ich hinzufügen in meiner Dateistruktur IIS

enter image description here

--one MEINE SOLUTIONS

Ich habe versucht, eine Express-Anwendung von Grunde auf neu zu installieren und es funktioniert alles, was ich tun muß, ist die Portnummer für process.env.PORT und seinen Lauf zu ändern, aber den Full-Stack noch nicht ich habe es endlich arbeiten, die nach ihrer die richtige Konfiguration der Lage, es aber immer noch

HIER MEINE APP funktioniert auf

enter image description here

Antwort

0

OK Leute nach einer Woche es graben IIS helfen muss ich machen arbeiten für IIS 7.5 erinnern Sie sich, dass Ihr Ordner/Partials in der sein muss Client/Öffentlicher Ordner, damit das Express-Routing ordnungsgemäß funktioniert.

Hier ist ein Link zu Link GIT-HUB PROJECT

: https://github.com/cesarvega/MEAN-IIS7.5-Stack

Hier sein mein 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> 

Die 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); 

der Index-Datei. html

<!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> 

Die app.js innen öffentlichen

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 " 
}) 

yDie main.html

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

und schließlich die Dateistruktur für die Dateipfade und Server IIS-Konfiguration

enter image description here

SERVER CONFIGURATION

enter image description here

Verwandte Themen