1

Diese Zeile funktionierte gut in ASP.NET MVC 5, aber gibt mir einen Fehler in ASP.NET Core MVC, wie sollte ich meine eigene JSON-Datei verweisen? Es enthält einfach einige absolute und relative Pfade, die ich in der Gulp-Datei verwenden möchte.So fordern/Verweis config.json in MVC Core

var gulp = require('gulp'), 
    rimraf = require("gulp-rimraf"), 
    concat = require("gulp-concat"), 
    cssmin = require("gulp-cssmin"), 
    uglify = require("gulp-uglify"), 
    watch = require('gulp-watch'), 
    bs = require("browser-sync").create(), 
    less = require("gulp-less"), 
    changed = require('gulp-changed'), 
    imagemin = require('gulp-imagemin'), 
    config = require('./Config.json'), // <--- this line fails (It's line 15) 
    urlAdjuster = require('gulp-css-url-adjuster'), 
    streamqueue = require('streamqueue'); 

Fehlermeldung:

Failed to run "...\Gulpfile.js"... 
cmd.exe /c gulp --tasks-simple 
module.js:415 
throw err; 
^ 
SyntaxError: D:\...\Config.json: Unexpected token/
at Object.parse (native) 
at Object.Module._extensions..json (module.js:412:27) 
at Module.load (module.js:343:32) 
at Function.Module._load (module.js:300:12) 
at Module.require (module.js:353:17) 
at require (internal/module.js:12:17) 
at Object.<anonymous> (D:\...\gulpfile.js:15:14) 
at Module._compile (module.js:397:26) 
at Object.Module._extensions..js (module.js:404:10) 
at Module.load (module.js:343:32) 

config.json

{ 
    //"compilerOptions": { 
    // "noImplicitAny": false, 
    // "noEmitOnError": true, 
    // "removeComments": false, 
    // "sourceMap": true, 
    // "target": "es5" 
    //}, 
    //"exclude": [ 
    // "node_modules", 
    // "wwwroot" 
    //] 
    "core": { 
    "project_name": "Core Web Assets", 
    "base_folder": "Core Web Assets", 
    "content_folder": "Core Content", 
    "scripts_folder": "Core Scripts", 
    "source_content": "../Core Web Assets/Core Web Assets/Core Content", 
    "source_scripts": "../Core Web Assets/Core Web Assets/Core Scripts", 
    "less": { 
     "all": "../Core Web Assets/Core Web Assets/Core Content/Less/**/*.less", 
     "factory": "../Core Web Assets/Core Web Assets/Core Content/Less/factory/bootstrap.less" 
    }, 
    "css": [ 
     "../Core Web Assets/Core Web Assets/Core Content/Css/scroller-media-jquery.dataTables.css", 
     "../Core Web Assets/Core Web Assets/Core Content/Css/toastr.css", 
     "../Core Web Assets/Core Web Assets/Core Content/Css/animate.css", 
     "../Core Web Assets/Core Web Assets/Core Content/Css/sweetalert.css" 
    ], 
    "icon_css": [ 
     "../Core Web Assets/Core Web Assets/Core Content/Css/font-awesome.min.css", 
     "../Core Web Assets/Core Web Assets/Core Content/Css/ionicons.min.css" 
    ], 
    "scripts": [ 
     "../Core Web Assets/Core Web Assets/Core Scripts/Utils/**/*.js", 
     "../Core Web Assets/Core Web Assets/Core Scripts/Common/*.js" 
    ], 
    "icons": [ 
     "../Core Web Assets/Core Web Assets/Core Content/icons/font_awesome/fontawesome-webfont.eot", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/font_awesome/fontawesome-webfont.svg", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/font_awesome/fontawesome-webfont.ttf", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/font_awesome/fontawesome-webfont.woff", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/font_awesome/fontawesome-webfont.woff2", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/font_awesome/FontAwesome.otf", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/ionicons/ionicons.eot", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/ionicons/ionicons.svg", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/ionicons/ionicons.ttf", 
     "../Core Web Assets/Core Web Assets/Core Content/icons/ionicons/ionicons.woff" 
    ], 
    "images": "../Core Web Assets/Core Web Assets/Core Content/Images/*" 
    }, 
    "xxx2": { 
    "base_url": "http://localhost/", 

    "project_name": "xxx2", 
    "content": "./wwwroot/Autogenerated", 
    "css": "./wwwroot/Autogenerated/Css", 
    "icons": "./wwwroot/Autogenerated/Icons", 
    "images": "./wwwroot/Autogenerated/Images", 
    "scripts": "./Scripts/Autogenerated" 
    } 
    //, 
    //"xxx": { 
    // "project_name": "xxx1", 
    // "base_url": "http://localhost/xxx1/", 
    // "port": "3000", 
    // "content": "./Content/Autogenerated", 
    // "css": "./Content/Autogenerated/Css", 
    // "icons": "./Content/Autogenerated/Icons", 
    // "images": "./Content/Autogenerated/Images", 
    // "scripts": "./Scripts/Autogenerated" 
    //} 
} 
+0

Zeigen Sie Ihre 'Config.json' – haim770

+0

@ haim770 Ich habe meine Config.json hinzugefügt – radbyx

+1

Offensichtlich ist der Parser nicht glücklich mit Kommentaren in Ihrem JSON. Es hat jedoch nichts mit dem Asp.net Core-Framework zu tun. Ich denke, es ist nur das Visual Studio Tooling, das sich geändert hat. – haim770

Antwort

1

Anscheinend require() Anrufe JSON-Dateien zu laden und analysieren nicht Kommentare in der JSON-Datei unterstützen.

Entweder entfernen Sie diese Kommentare oder verwenden Sie eine plugin, die sie unterstützt.

+0

Ich sollte hinzufügen, das war wahrscheinlich kein Problem für mich in ASP.NET MVC5 auch, weil ich die Standardzeilen in der Datei config.json beim Erstellen einer neuen auskommentierte. – radbyx