2016-04-30 40 views
1

「readme.md」你怎麼知道的WebPack忽略的package.json的main屬性時,它是無效/不必要的:如何處理/忽略「主」?的WebPack + octicons:在的package.json

下面是一個例子:GitHub的octicons包有一個主一個readme.md:

{ 
    "name": "octicons", 
    "version": "3.5.0", 
    "description": "GitHub's icon font", 
    "main": "README.md", <------------------------------------- 
    "repository": { 
    "type": "git", 
    "url": "https://github.com/github/octicons.git" 
    }, 
    ... 
} 

https://github.com/github/octicons/blob/master/package.json#L5

導致此錯誤:

ERROR in ./~/octicons/README.md 
Module parse failed: C:\repos\foo\node_modules\octicons\README.md Unexpected character '#' (1:0) 
You may need an appropriate loader to handle this file type. 
SyntaxError: Unexpected character '#' (1:0) 
    at Parser.pp.raise (C:\repos\foo\node_modules\acorn\dist\acorn.js:920:13) 
    at Parser.pp.getTokenFromCode (C:\repos\foo\node_modules\acorn\dist\acorn.js:2813:8) 
    at Parser.pp.readToken (C:\repos\foo\node_modules\acorn\dist\acorn.js:2508:15) 
    at Parser.pp.nextToken (C:\repos\foo\node_modules\acorn\dist\acorn.js:2500:71) 
    at Parser.parse (C:\repos\foo\node_modules\acorn\dist\acorn.js:1615:10) 
    at Object.parse (C:\repos\foo\node_modules\acorn\dist\acorn.js:882:44) 
    at Parser.parse (C:\repos\foo\node_modules\webpack\lib\Parser.js:902:15) 
    at DependenciesBlock.<anonymous> (C:\repos\foo\node_modules\webpack\lib\NormalModule.js:104:16) 
    at DependenciesBlock.onModuleBuild (C:\repos\foo\node_modules\webpack-core\lib\NormalModuleMixin.js:31 
0:10) 
    at nextLoader (C:\repos\foo\node_modules\webpack-core\lib\NormalModuleMixin.js:275:25) 
@ ./src ^\.\/.*$ 

的octicons包中只引用一個點 - 我的main.js(入口點):

import '../node_modules/octicons/octicons/octicons.css'; 
+1

如何/你在哪裏指的是包? –

+0

已更新的問題 - 感謝您的期待 –

+0

您可以嘗試針對該文件定義[resolve.alias](https://webpack.github.io/docs/configuration.html#resolve-alias)。我認爲這可以整理出來。 –

回答

4

我不確定這是否是正確的解決方案,但它讓我超過了錯誤。如果有人發佈了更好的解決方案,我會很樂意接受並讚揚。所有.md文件npm install --save null-loader

發送到空裝載機:

安裝null-loader

webpack.config

... 
    module: { 
    loaders: [ 
     ... 
     { test: /\.md$/, loader: 'null' } 
    ] 
    }, 
    ...