2014-12-18 4 views
3

.less 파일을 사용하는 웹 사이트가 있습니다 (사전 컴파일러 dotless는 nuget을 사용하여 설치되었지만 .less 파일은 CSS 파일로 처리되지 않습니다). 스타일 시트에 http : // 웹 사이트/CSS/init.less가로드되지 않았습니다 때문에 MIME 타입, "응용 프로그램/octet-stream을"점없는 파일의 스타일이 사용되지 않았습니다

파이어 폭스에서 웹 사이트를 보려고, 콘솔은 다음과 같은 오류를 사용할 수 있습니다 , "text/css"가 아닙니다.

우리의 점이없는 파일이 더 많은 파일을 가져하려고 :

@import "imports"; 
.. 

을하지만, 심지어 CSS 코드와이 텍스트를 대체하는 스타일은 여전히 ​​적용되지 않습니다. 그러나 Visual Studio에서 해당 파일로 이동하면 가져온 파일에서 모든 CSS가 표시됩니다.

+0

사용하는 사전 컴파일러의 링크를 알려주시겠습니까? – Aristos

+0

http://www.dotlesscss.org/ – Lex

답변

2

.less 파일을 처리하고 제공하는 데 dotLess 처리기를 사용하는 경우 (디버깅에는 적합하지만 출시 용 사전 컴파일을 고려할 수 있음) 올바른 mimetype으로 그들을 아래로.

IIS 관리자의 서버 수준에서이 작업을 수행 할 수 있습니다 (컴퓨터의 여러 사이트에서이 작업을 사용하려는 경우). 또는 web.config를 통해 로컬 사이트 수준에서 작업 할 수 있습니다. 둘 다 수행하면 IIS는 파일 확장명에 대해 여러 항목이 있다고 불평합니다. 이미 일부의 MimeMap 항목을 가지고 있다면, 분명히

<staticContent> 
    <mimeMap fileExtension=".less" mimeType="text/css" /> 
</staticContent> 

그냥 거기의 MimeMap을 추가

<configuration><system.webServer> 요소 내에 다음과 같은 요소를 추가하여 Web.config에서이 작업을 수행합니다.

이렇게하면 IIS는 .less 파일이 처리기에서 기본 application/octect-stream이 아닌 CSS로 제공되었다고 주장합니다.

이 여전히 처리로 서비스를 제공 아니라, 필요한 다른 몇 가지가 확인이 있습니다 :

  1. 핸들러가 올바르게에 따라합니다 (<system.webserver><handlers><system.web><httpHandlers> 섹션 모두에 등록되어 있는지 확인 사용중인 IIS의 버전 :
    <add name="dotless" path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition="" />

    <add path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler, dotless.Core" />
  2. 은 IIS가 ASP.NET 처리기를 통해 모든 요청을 보내도록 구성되어 있는지 확인 간 설정 기본적으로 .less 개의 파일이 "정적 파일"로 간주되어 StaticFileModule에서만 처리됩니다.
    enter image description here
+0

설정 파일 설정을 시도했지만 파일 수가 적고 올바르게 처리하지 못했습니다. – Lex

+0

dotLess 핸들러가 올바르게 등록 되었습니까? –

+0

제대로 설정했다고 생각하지만 지금은 잘 모르겠습니다. nuget을 통해 dotless를 설치하고 필요한 비트를 web.config 파일에 추가했습니다. 그리고 무의미한 웹 사이트에 따르면 그것은 당신이해야 할 전부입니다. 우리는이 솔루션을 웹 애플리케이션이 아닌 웹 사이트로 실행하고 있습니다. 그렇게하면 차이가 있습니까? – Lex

관련 문제