2016-03-08 53 views
-1

我在grunt-link-html插件的幫助下自動將引用的css和js文件插入html頭,但是當在http://localhost:9000/上查看文件時發現('不能GET')。在樣式和腳本相對引用,並從硬盤雙擊查看文件時顯示:引用來自HTML的css和javascript不能在本地主機上工作

<!-- begin:css --> 
<link rel="stylesheet" type="text/css" href="../deploy/css/myproject.min.css"> 
<!-- end:css --> 

<!-- begin:js --> 
<script src="../deploy/js/myproject.min.js"></script> 
<!-- end:js --> 

我是新來的咕嚕,我缺少什麼?感謝您的幫助

項目結構:從gruntfile

MyProject 
    _build 
     node_modules 
     Gruntfile.js 
     package.json 
    deploy 
     css 
      myproject.min.css 
     js 
      myproject.min.js 
    src 
     css 
      myproject.css 
     js 
      myproject.js 

     index.html 

提取物:

express: { 
    all: { 
    options: { 
    port: 9000, 
    hostname: "0.0.0.0", 
    bases: ['C:/Users/user1/MyProject/src'] 
    } 
    } 
}, 
open: { 
    all: { 
    path: 'http://localhost:<%= express.all.options.port%>', 
    app: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe' 
    } 
}, 
link_html: { 
    your_target: { 
    jsFiles: ['../deploy/js/portfolio.min.js'], 
    cssFiles: ['../deploy/css/portfolio.min.css'], 
    targetHtml: ['../src/index.html'], 
    options: { 
     cwd: '../deploy' 
    } 
    } 
} 

grunt.registerTask('server', ['connect', 'express', 'open', 'watch']); 

回答

0

..在CSS & JS文件路徑的開頭是正確的咕嚕如果從_build子目錄運行,而不是該網頁,因爲index.html是在項目的根目錄。

我會將Grunt的東西從_build移到項目的根文件夾,並從Gruntfile.js中刪除..

經過一次Grunt重新運行後,它應該工作,然後。

+0

謝謝!因爲我不想在根級別重新安裝所有插件,所以我無法將grunt移到項目根目錄,但是這給了我一個將index.html移動到根目錄(它在src子文件夾之前)的想法。在更新express base path和link_html路徑後,它的工作原理 – GeneticallyModified

+0

如果使用'--save-dev',重新安裝應該沒有問題。參見[GruntJS手冊](http://gruntjs.com/getting-started#installing-grunt-and-gruntplugins)。我很高興它的工作 - 你有沒有考慮接受我的答案? – RhinoDevel

+0

我點擊了這個主題上的答案旁邊的向上箭頭,但它說我不能留下反饋,直到我自己達到15個聲望點:/謝謝你的幫助,但我會回來留下你的反饋,一旦我得到到那些15分:) – GeneticallyModified

-1

只是一個想法或兩個:使用中的所有鏈接相同的分離,因爲有 1.Try在某些環境(瀏覽器vs編輯器vs操作系統vs其他任何東西)中,「\」和「/」是不同的。 2.(愚蠢的問題?!​​)你確定你對你正在訪問的文件有讀/寫/執行權嗎?

+0

謝謝,這是一個非常有用的想法關於斜線,我會牢記 – GeneticallyModified

0

我對這些spesific grunt模塊並不熟悉,但我猜測問題是您將express.all的「基」定義爲src文件夾,而不是您的「myProject」文件夾。

所以當你的服務器想要爲你的文件(比如你的css和js)提供服務時,它只會出現在你沒有「../deploy/」文件夾的/ src文件夾中。

嘗試將您的基礎更改爲['C:/ Users/user1/MyProject/deploy']和您的jsFiles和cssFiles,刪除「../deploy」,它們現在應該駐留在「/ js」和「/css「文件夾。

希望這有助於:)

+0

謝謝,這似乎與一些重組工作。我將表達基礎改爲C:/ Users/user1/MyProject,將.html移動到項目的根目錄並將其路徑改爲link_html,它現在是targetHtml:['../index.html'], – GeneticallyModified

相關問題