2016-12-09 16 views
1

每當我使用webpack構建項目時,遇到錯誤,看起來webpack正在從我的node_modules加載json文件。我只希望js,jsx,ts,tsx文件得到解決。我不明白爲什麼會發生這種情況。在webpack構建期間無意中解決了JSON文件

這些都是一些錯誤

ERROR in ./~/tough-cookie/package.json 
Module parse failed: /mnt/d/Source/samples/cooper/node_modules/tough-cookie/package.json Unexpected token (2:9) 
You may need an appropriate loader to handle this file type. 
SyntaxError: Unexpected token (2:9) 
    at Parser.pp$4.raise (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15) 
    at Parser.pp.unexpected (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10) 
    at Parser.pp.semicolon (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:581:61) 
    at Parser.pp$1.parseExpressionStatement (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:966:10) 
    at Parser.pp$1.parseStatement (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:730:24) 
    at Parser.pp$1.parseBlock (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:981:25) 
    at Parser.pp$1.parseStatement (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:709:33) 
    at Parser.pp$1.parseTopLevel (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:638:25) 
    at Parser.parse (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:516:17) 
    at Object.parse (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:3098:39) 
    at Parser.parse (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/Parser.js:902:15) 
    at DependenciesBlock.<anonymous> (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModule.js:104:16) 
    at DependenciesBlock.onModuleBuild (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:310:10) 
    at nextLoader (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25) 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5 
    at Storage.provide (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:52:20) 
    at CachedInputFileSystem.readFile (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:140:24) 
    at DependenciesBlock.onLoadPitchDone (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:255:7) 
    at DependenciesBlock.loadPitch (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:182:27) 
    at DependenciesBlock.doBuild (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:241:4) 
    at DependenciesBlock.build (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModule.js:84:14) 
    at Compilation.buildModule (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/Compilation.js:126:9) 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/lib/Compilation.js:309:10 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModuleFactory.js:58:13 
    at NormalModuleFactory.applyPluginsAsyncWaterfall (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/tapable/lib/Tapable.js:75:69) 
    at onDoneResolving (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModuleFactory.js:38:11) 
    at onDoneResolving (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModuleFactory.js:121:6) 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModuleFactory.js:116:7 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/async/lib/async.js:726:13 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/async/lib/async.js:52:16 
    at async.forEachOf.async.eachOf (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/async/lib/async.js:236:30) 
    at _parallel (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/async/lib/async.js:717:9) 
@ ./~/tough-cookie/lib/cookie.js 41:14-40 

ERROR in ./~/hawk/package.json 
Module parse failed: /mnt/d/Source/samples/cooper/node_modules/hawk/package.json Unexpected token (2:9) 
You may need an appropriate loader to handle this file type. 
SyntaxError: Unexpected token (2:9) 
    at Parser.pp$4.raise (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15) 
    at Parser.pp.unexpected (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10) 
    at Parser.pp.semicolon (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:581:61) 
    at Parser.pp$1.parseExpressionStatement (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:966:10) 
    at Parser.pp$1.parseStatement (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:730:24) 
    at Parser.pp$1.parseBlock (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:981:25) 
    at Parser.pp$1.parseStatement (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:709:33) 
    at Parser.pp$1.parseTopLevel (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:638:25) 
    at Parser.parse (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:516:17) 
    at Object.parse (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/acorn/dist/acorn.js:3098:39) 
    at Parser.parse (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/Parser.js:902:15) 
    at DependenciesBlock.<anonymous> (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModule.js:104:16) 
    at DependenciesBlock.onModuleBuild (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:310:10) 
    at nextLoader (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25) 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5 
    at Storage.provide (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:52:20) 
    at CachedInputFileSystem.readFile (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:140:24) 
    at DependenciesBlock.onLoadPitchDone (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:255:7) 
    at DependenciesBlock.loadPitch (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:182:27) 
    at DependenciesBlock.doBuild (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:241:4) 
    at DependenciesBlock.build (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModule.js:84:14) 
    at Compilation.buildModule (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/Compilation.js:126:9) 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/lib/Compilation.js:309:10 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModuleFactory.js:58:13 
    at NormalModuleFactory.applyPluginsAsyncWaterfall (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/tapable/lib/Tapable.js:75:69) 
    at onDoneResolving (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModuleFactory.js:38:11) 
    at onDoneResolving (/mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModuleFactory.js:121:6) 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/lib/NormalModuleFactory.js:116:7 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/async/lib/async.js:726:13 
    at /mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/async/lib/async.js:52:16 
    at async.forEachOf.async.eachOf (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/async/lib/async.js:236:30) 
    at _parallel (/mnt/d/Source/samples/cooper/node_modules/webpack/node_modules/async/lib/async.js:717:9) 
@ ./~/hawk/lib/utils.js 14:11-37 
... 

的,我有以下的WebPack-config.js

var path = require("path") 

module.exports = { 
    entry: { 
     index: "index.tsx" 
    }, 
    output: { 
     path: path.resolve(__dirname, "build"), 
     filename: "[name].js" 
    }, 
    resolve: { 
     root: [ 
      path.resolve(__dirname, "src") 
     ], 
     extensions: ["", ".ts", ".tsx", ".js", ".jsx"] 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.tsx?$/, 
       loaders: [ 
        "babel-loader", 
        "ts-loader" 
       ] 
      }, 
      { 
       test: /\.jsx?$/, 
       loaders: [ 
        "babel-loader" 
       ] 
      } 
     ] 
    }, 
    plugins: [ 
    ], 
    target: "electron-renderer", 
    node: { 
     __dirname: false, 
     __filename: false 
    } 
} 

回答

1

的排除屬性你需要在你的WebPack配置加載json-loader因爲tough-cookie模塊所使用的負載和parses its package.json file

{ 
    test: /\.json$/, 
    loader: 'json-loader', 
}, 
+0

就像一個魅力 – Chad

0

嘗試從裝載機排除node_modules文件夾。使用下面的正則表達式所有裝載機

 { 
      test: /\.jsx?$/, 
      loaders: ['react-hot', 'babel-loader'], 
      exclude: /(node_modules|bower_components)/, 
     }, 

also see the webpack documentation here

+0

最好不要帶刺在黑暗中,如果你不能確定。一旦你有足夠的分數,最好留下評論。 – loganfsmyth

相關問題