首页 > 解决方案 > SyntaxError:意外的令牌/在 JSON 中的位置 132

问题描述

有人可以帮我解决这个问题吗:我正在尝试在 laravel 项目中执行 npm 运行生产(也使用 webpack)并在位置 132 处获取 SyntaxError: Unexpected token / in JSON (以及如何使用 vscode 捕获它们)。看来就像尝试转换为 JSON 时出错但我找不到它。谢谢你的帮助这里是github repo

https://github.com/hevzy86/vur

cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\bin\cli.js:93
                                throw err;
                                ^

SyntaxError: Unexpected token / in JSON at position 132
    at JSON.parse (<anonymous>)
    at BabelConfig.fetchBabelRc (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\BabelConfig.js:30:41)
    at Function.generate (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\BabelConfig.js:14:35)
    at Object.babel (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\config.js:121:45)
    at JavaScript.webpackRules (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\components\JavaScript.js:76:41)
    at ComponentFactory.applyRules (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\components\ComponentFactory.js:155:23)
    at Mix.listen.rules (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\components\ComponentFactory.js:66:48)
    at events.(anonymous function).forEach.handler (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\Dispatcher.js:34:47)
    at Array.forEach (<anonymous>)
    at Dispatcher.fire (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\Dispatcher.js:34:28)
    at Mix.dispatch (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\Mix.js:119:25)
    at WebpackConfig.buildRules (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\builder\WebpackConfig.js:83:13)
    at WebpackConfig.build (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\src\builder\WebpackConfig.js:23:14)
    at Object.<anonymous> (F:\Projects\js\vue\vue-appEp19\node_modules\laravel-mix\setup\webpack.config.js:29:38)
    at Module._compile (F:\Projects\js\vue\vue-appEp19\node_modules\v8-compile-cache\v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (F:\Projects\js\vue\vue-appEp19\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
    at WEBPACK_OPTIONS (F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\bin\utils\convert-argv.js:116:13)
    at requireConfig (F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\bin\utils\convert-argv.js:118:6)
    at F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\bin\utils\convert-argv.js:125:17
    at Array.forEach (<anonymous>)
    at module.exports (F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\bin\utils\convert-argv.js:123:15)
    at yargs.parse (F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\bin\cli.js:71:45)
    at Object.parse (F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\node_modules\yargs\yargs.js:567:18)
    at F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\bin\cli.js:49:8
    at Object.<anonymous> (F:\Projects\js\vue\vue-appEp19\node_modules\webpack-cli\bin\cli.js:365:3)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ production: `cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ production script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Vlad\AppData\Roaming\npm-cache\_logs\2019-07-07T07_05_11_119Z-debug.log

标签: javascriptjsonlaravelwebpack

解决方案


当 WebPack 尝试解析 babel 配置时,似乎会出现问题。从您提供的存储库 URL 中查看您的 .babelrc,我发现

{

    "presets": [
        "@babel/preset-env", 
        "@babel/env",
        ["es2015", {"modules":false}]
    ]
}

// {
//     "presets": [
//     "@babel/preset-env",
//     "@babel/preset-react",
//     ["es2015", {"modules":false}]
//     ],
//     "plugins": [
//     "transform-class-properties",
//     "transform-object-rest-spread"
//     ]
//     }

Babel 配置是一个 JSON 文件。该文件应该只包含一个有效的 JSON 对象。看来你不知道 JSON 不支持评论。所以你应该删除所有以'//'开头的行。希望你的问题会消失。

如果您想了解有关 JSON 中评论的更多信息,请参阅此处的第二个答案


推荐阅读