2017-06-21 84 views
-1

我試圖運行我們的Web應用程序的生產版本,該應用程序在我們的IIS服務器上使用React的縮小(生產)版本。我們目前可以運行在開發者版本,但試圖運行構建版本時,我們不斷收到以下錯誤index.js:1未捕獲的SyntaxError:意外的令牌<

`index.js:1 Uncaught SyntaxError: Unexpected token <` 

我認爲它可能的一直到build文件夾中縮小的代碼,所以我做了一個基本的index.js裏面只有一個alert,並且仍然失敗。我檢查了文件路徑,它似乎是寫入,並且index.html文件似乎也是如此。我們使用從reactboilerplate.com鍋爐和運行npm run build命令

開發控制檯打印:enter image description here

的index.html:

<!DOCTYPE html> 
<html lang="en"> 

<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width,initial-scale=1"> 
<link rel="manifest" href="manifest.json"> 
<meta name="mobile-web-app-capable" content="yes"> 
<title>Timeclock</title> 
</head> 

<body> 
<noscript>If you're seeing this message, that means 
    <strong>JavaScript has been disabled on your browser</strong>, please <strong>enable JS</strong> to make this app work.</noscript> 
<div id="app"></div> 
<script type="text/javascript" src="index.js"></script> 
</body> 

</html> 
+1

您是否在'index.js'中使用了任何JSX?你是否試圖直接在瀏覽器中打開'index.js'並檢查輸出? –

+0

沒有jsx,index.js文件只是一個警報功能,目前只是排除故障。瀏覽器中index.js文件的輸出有效 –

+0

嘗試打開控制檯並轉到「源」選項卡(假定Chrome)。在那裏找到'index.js',看看瀏覽器聲稱在其中。這可能與緩存問題一樣簡單。 –

回答

0

檢查你的網頁,並驗證,當你獲取指標。 js文件,你實際上得到它。我的猜測是,當你獲取index.js時,你實際上會得到index.html,因此當你的瀏覽器試圖將你的index.html文件作爲腳本執行時,它會立即出錯,因爲<不是有效的初始值一段javascript的字符。這是配置html推送狀態時遇到的常見配置錯誤,因此您的web服務器可能未正確配置爲正確提供index.js;請確保您的iisconfig.xml文件中包含以下設置:

<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
      <rule name="Main Rule" stopProcessing="true"> 
        <match url=".*" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        </conditions> 
        <action type="Rewrite" url="/" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
+1

那麼如何解決這個問題呢? –

+1

請編輯您的答案以包含相關信息,而不是寫評論。 –

相關問題