webpack + octicons:如何 handle/ignore "main": "readme.md" in package.json
webpack + octicons: how to handle/ignore "main": "readme.md" in package.json
你如何告诉 webpack 在 invalid/unnecessary 时忽略 package.json 的 main
属性?
这里有一个例子: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';
我不确定这是否是正确的解决方案,但它让我克服了错误。如果有人发布更好的解决方案,我会很乐意接受并投票。
安装null-loader:npm install --save null-loader
将所有 .md
个文件发送到空加载器:
webpack.config
...
module: {
loaders: [
...
{ test: /\.md$/, loader: 'null' }
]
},
...
你如何告诉 webpack 在 invalid/unnecessary 时忽略 package.json 的 main
属性?
这里有一个例子: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';
我不确定这是否是正确的解决方案,但它让我克服了错误。如果有人发布更好的解决方案,我会很乐意接受并投票。
安装null-loader:npm install --save null-loader
将所有 .md
个文件发送到空加载器:
webpack.config
...
module: {
loaders: [
...
{ test: /\.md$/, loader: 'null' }
]
},
...