我有以下javascript代码:
class UrlParameters {
constructor() {
this.initVariablesWithDefaultValues();
var serverUrlData = HelperJSViewBag.getValue("UrlData", true);
var urlVariables = serverUrlData ? serverUrlData : HLinks.getAllUrlVariables();
var sessionID = this.convertToString(urlVariables["sessionID"]);
var idSession = this.convertToString(urlVariables["idSession"]);
var sessionid = this.convertToString(urlVariables["sessionid"]);
if (idSession.length > 0)
this.sessionID = idSession;
else if (sessionid.length > 0)
this.sessionID = sessionid;
else
this.sessionID = sessionID;
var countryISO = this.convertToString(urlVariables["countryISO"]);
var country = this.convertToString(urlVariables["country"]);
this.countryISO = countryISO.length > 0 ? countryISO : country;
var productRef = this.convertToString(urlVariables["productRef"]);
var pRef = this.convertToString(urlVariables["ref"]);
var refproduct = this.convertToString(urlVariables["refproduct"]);
var productReference = this.convertToString(urlVariables["productReference"]);
if (productRef.length > 0)
this.productReference = productRef;
else if (pRef.length > 0)
this.productReference = pRef;
else if (refproduct.length > 0)
this.productReference = refproduct;
else
this.productReference = productReference;
var PartnerCode = this.convertToString(urlVariables["PartnerCode"]);
var partnerCode = this.convertToString(urlVariables["partnerCode"]);
this.partnerCode = PartnerCode.length > 0 ? PartnerCode : partnerCode;
var themeReference = this.convertToString(urlVariables["themeReference"]);
var theme = this.convertToString(urlVariables["theme"]);
this.themeReference = themeReference.length > 0 ? themeReference : theme;
this.projectName = this.convertToString(urlVariables["projectName"]);
var coverReference = this.convertToString(urlVariables["coverReference"]);
var refCover = this.convertToString(urlVariables["refCover"]);
this.coverReference = coverReference.length > 0 ? coverReference : refCover;
this.themeFill = this.convertToInt(urlVariables["themeFill"], 0); // 0 -> directly without autofill ; 1 -> not directly without autofill ; 2 -> not directly quick autofill ; 3 -> not directly smart autofill
this.smartOpt = this.convertToInt(urlVariables["smartOpt"], 2); //1->faces,colors,dimentions; 2-> colors and dimentions; 3-> dimentions
var open = this.convertToString(urlVariables["open"]);
var projectCode = this.convertToString(urlVariables["projectCode"]);
this.projectCode = open.length > 0 ? open : projectCode;
this.productCode = this.convertToString(urlVariables["productCode"]);
this.projectID = this.convertToString(urlVariables["projectID"]);
var categoryID = this.convertToInt(urlVariables["categoryID"]);
var cat = this.convertToInt(urlVariables["cat"]);
this.categoryID = categoryID > 0 ? categoryID : cat;
var subCategoryReference = this.convertToString(urlVariables["subCategoryReference"]);
var subCat = this.convertToString(urlVariables["subCat"]);
this.subCategoryReference = subCategoryReference.length > 0 ? subCategoryReference : subCat;
var typeFinishID = this.convertToInt(urlVariables["typeFinishID"]);
var refProdutFinish = this.convertToInt(urlVariables["refProdutFinish"]);
var productTypeFinishID = this.convertToInt(urlVariables["productTypeFinishID"]);
if (typeFinishID > 0)
this.productTypeFinishID = typeFinishID;
else if (refProdutFinish > 0)
this.productTypeFinishID = refProdutFinish;
else
this.productTypeFinishID = productTypeFinishID;
var coverTypeFinishID = this.convertToInt(urlVariables["coverTypeFinishID"]);
var coverFinishID = this.convertToInt(urlVariables["coverFinishID"]);
var refCoverFinish = this.convertToInt(urlVariables["refCoverFinish"]);
if (coverTypeFinishID > 0) this.coverTypeFinishID = coverTypeFinishID;
else if (coverFinishID > 0) this.coverTypeFinishID = coverFinishID;
else this.coverTypeFinishID = refCoverFinish;
var numPages = this.convertToInt(urlVariables["numPages"]);
var refPages = this.convertToInt(urlVariables["refPages"]);
var numberOfPages = this.convertToInt(urlVariables["numberOfPages"]);
if (numPages > 0)
this.numberOfPages = numPages;
else if (refPages > 0)
this.numberOfPages = refPages;
else
this.numberOfPages = numberOfPages;
this.coverType = this.convertToString(urlVariables["coverType"]);
var textureID = this.convertToString(urlVariables["textureID"]);
var textureReference = this.convertToString(urlVariables["textureReference"]);
if (textureID.length > 0) this.textureReference = textureID;
else this.textureReference = textureReference;
var textureColorID = this.convertToString(urlVariables["textureColorID"]);
var textureColorReference = this.convertToString(urlVariables["textureColorReference"]);
var refColor = this.convertToString(urlVariables["refColor"]);
if (textureColorID.length > 0) this.textureColorReference = textureColorID;
else if (refColor.length > 0) this.textureColorReference = refColor;
else this.textureColorReference = textureColorReference;
var windowID = this.convertToString(urlVariables["windowID"]);
var refWindow = this.convertToString(urlVariables["refWindow"]);
var windowReference = this.convertToString(urlVariables["windowReference"]);
if (windowID.length > 0)
this.windowReference = windowID;
else if (refWindow.length > 0)
this.windowReference = refWindow;
else
this.windowReference = windowReference;
this.savedProject = this.convertToBoolean(urlVariables["savedProject"]);
this.startMonth = this.convertToInt(urlVariables["startMonth"]);
this.startYear = this.convertToInt(urlVariables["startYear"]);
this.wantHolidays = this.convertToBoolean(urlVariables["wantHolidays"]);
var frameID = this.convertToString(urlVariables["frameID"]);
var frameReference = this.convertToString(urlVariables["frameReference"]);
var canvasRef = this.convertToString(urlVariables["canvasRef"]);
if (frameID.length > 0)
this.frameReference = frameID;
else if (canvasRef.length > 0)
this.frameReference = canvasRef;
else
this.frameReference = frameReference;
this.frameReference = frameID.length > 0 ? frameID : frameReference;
var colorFrameID = this.convertToString(urlVariables["colorFrameID"]);
var frameColorReference = this.convertToString(urlVariables["frameColorReference"]);
var canvasColor = this.convertToString(urlVariables["canvasColor"]);
if (colorFrameID.length > 0)
this.frameColorReference = colorFrameID;
else if (canvasColor.length > 0)
this.frameColorReference = canvasColor;
else
this.frameColorReference = frameColorReference;
this.albumXML = this.convertToString(urlVariables["albumXML"]);
this.pagesXML = this.convertToString(urlVariables["pagesXML"]);
var languageISO = this.convertToString(urlVariables["languageISO"]);
var lang = this.convertToString(urlVariables["lang"]);
if (languageISO.length > 0)
this.languageISO = languageISO;
else if (lang.length > 0)
this.languageISO = lang;
this.openThemeAccordion = this.convertToBoolean(urlVariables["openThemeAccordion"]);
var galleryID = this.convertToString(urlVariables["galleryID"]);
var galleryReference = this.convertToString(urlVariables["galleryReference"]);
this.galleryReference = galleryID.length > 0 ? galleryID : galleryReference;
var login_page = this.convertToString(urlVariables["login_page"]);
var Login_Page = this.convertToString(urlVariables["Login_Page"]);
this.Login_Page = this.convertToBoolean(login_page.length > 0 ? login_page : Login_Page);
this.forceMobile = this.convertToBoolean(urlVariables["forceMobile"]);
this.clientApplication = this.convertToString(urlVariables["clientApplication"]);
this.goToPreview = this.convertToInt(urlVariables["goToPreview"]);
this.orderID = this.convertToInt(urlVariables["orderID"], -1);
this.CID = this.convertToString(urlVariables["CID"]);
this.unblock = this.convertToBoolean(urlVariables["unblock"]);
var idPartner = this.convertToInt(urlVariables["idPartner"]);
var partnerID = this.convertToInt(urlVariables["partnerID"]);
var idEmp = this.convertToInt(urlVariables["idEmp"]);
this.forceException = this.convertToBoolean(urlVariables["forceException"]);
if (idPartner > 0)
this.partnerID = idPartner;
else if (partnerID > 0)
this.partnerID = partnerID;
else if (idEmp > 0)
this.partnerID = idEmp;
this.goDirectlyToEditor = this.convertToBoolean(urlVariables["goDirectlyToEditor"]);
}
static getInstance() {
if (typeof UrlParameters.urlParameters === "undefined")
UrlParameters.urlParameters = new UrlParameters();
return UrlParameters.urlParameters;
}
getData() {
return {
sessionID : this.sessionID,
countryISO: this.countryISO,
productReference: this.productReference,
partnerCode: this.partnerCode,
themeReference: this.themeReference,
projectName: this.projectName,
coverReference: this.coverReference,
themeFill: this.themeFill,
smartOpt: this.smartOpt,
projectCode: this.projectCode,
productCode: this.productCode,
projectID: this.projectID,
categoryID: this.categoryID,
subCategoryReference: this.subCategoryReference,
productTypeFinishID: this.productTypeFinishID,
coverTypeFinishID: this.coverTypeFinishID,
numberOfPages: this.numberOfPages,
coverType: this.coverType,
textureReference: this.textureReference,
textureColorReference: this.textureColorReference,
windowReference: this.windowReference,
savedProject: this.savedProject,
startMonth: this.startMonth,
startYear: this.startYear,
wantHolidays: this.wantHolidays,
frameReference: this.frameReference,
frameColorReference: this.frameColorReference,
albumXML: this.albumXML,
pagesXML: this.pagesXML,
languageISO: this.languageISO,
openThemeAccordion: this.openThemeAccordion,
galleryReference: this.galleryReference,
Login_Page: this.Login_Page,
forceMobile: this.forceMobile,
clientApplication: this.clientApplication,
goToPreview: this.goToPreview,
orderID: this.orderID,
CID: this.CID,
unblock: this.unblock,
partnerID: this.partnerID,
forceException: this.forceException,
goDirectlyToEditor: this.goDirectlyToEditor
}
}
getVariableOnce(name) {
if (!this.variableOnce) this.variableOnce = this.getData();
var value = this.variableOnce[name];
delete this.variableOnce[name];
return value;
}
initVariablesWithDefaultValues() {
this.projectName = "";
this.productReference = "";
this.coverReference = "";
this.textureReference = "";
this.colorReference = "";
this.windowReference = "";
this.numberOfPages = 0;
this.productTypeFinishID = 0;
this.coverTypeFinishID = 0;
this.canvasColor = "";
this.projectCode = "";
this.sessionID = "";
this.countryISO = "";
this.themeReference = "";
this.themeFill = 0;
this.smartOpt = 2;
this.projectID = "";
this.productCode = "";
this.categoryID = -1;
this.savedProject = false;
this.startMonth = 0;
this.startYear = 0;
this.wantHolidays = false;
this.albumXML = "";
this.pagesXML = "";
this.languageISO = "";
this.Login_Page = false;
this.frameReference = "";
this.frameColorReference = "";
this.partnerCode = "";
this.partnerID = "";
this.coverType = "";
this.textureColorReference = ""
this.subCategoryReference = "";
this.openThemeAccordion = false;
this.galleryReference = "";
this.clientApplication = "";
this.forceMobile = false;
this.idUpload = 0;
this.orderID = -1;
this.idControl = 0;
this.goToPreview = 0;
this.unblock = false;
this.CID = "";
this.forceException = false;
this.goDirectlyToEditor = false;
}
convertToString(value, defaultValue) {
if (typeof defaultValue !== "var") defaultValue = "";
if (value)
return value;
else
return defaultValue;
}
convertToInt(value, defaultValue) {
if (typeof defaultValue !== "number") defaultValue = 0;
if (value)
return parseInt(value);
else
return defaultValue;
}
convertToBoolean(value, defaultValue) {
if (typeof defaultValue !== "boolean") defaultValue = false;
if (value)
return value;
else
return defaultValue;
}
}
当我使用BundleTable.EnableOptimizations = true
运行我的应用程序时,asp.net不会缩小此文件。 Istead,返回一个包含以下错误的新文件:
/* Minification failed. Returning unminified contents.
(1,1-6): run-time error JS1195: Expected expression: class
(3,19-20): run-time error JS1004: Expected ';': {
(201,12-23): run-time error JS1004: Expected ';': getInstance
(201,26-27): run-time error JS1004: Expected ';': {
(208,15-16): run-time error JS1004: Expected ';': {
(256,27-28): run-time error JS1004: Expected ';': {
(265,38-39): run-time error JS1004: Expected ';': {
(314,42-43): run-time error JS1004: Expected ';': {
(323,39-40): run-time error JS1004: Expected ';': {
(332,43-44): run-time error JS1004: Expected ';': {
(341,1-2): run-time error JS1002: Syntax error: }
(336,13-25): run-time error JS1018: 'return' statement outside of function: return value
(338,13-32): run-time error JS1018: 'return' statement outside of function: return defaultValue
(327,13-35): run-time error JS1018: 'return' statement outside of function: return parseInt(value)
(329,13-32): run-time error JS1018: 'return' statement outside of function: return defaultValue
(318,13-25): run-time error JS1018: 'return' statement outside of function: return value
(320,13-32): run-time error JS1018: 'return' statement outside of function: return defaultValue
(262,9-21): run-time error JS1018: 'return' statement outside of function: return value
(209,9,253,10): run-time error JS1018: 'return' statement outside of function: return {
sessionID : this.sessionID,
countryISO: this.countryISO,
productReference: this.productReference,
partnerCode: this.partnerCode,
themeReference: this.themeReference,
projectName: this.projectName,
coverReference: this.coverReference,
themeFill: this.themeFill,
smartOpt: this.smartOpt,
projectCode: this.projectCode,
productCode: this.productCode,
projectID: this.projectID,
categoryID: this.categoryID,
subCategoryReference: this.subCategoryReference,
productTypeFinishID: this.productTypeFinishID,
coverTypeFinishID: this.coverTypeFinishID,
numberOfPages: this.numberOfPages,
coverType: this.coverType,
textureReference: this.textureReference,
textureColorReference: this.textureColorReference,
windowReference: this.windowReference,
savedProject: this.savedProject,
startMonth: this.startMonth,
startYear: this.startYear,
wantHolidays: this.wantHolidays,
frameReference: this.frameReference,
frameColorReference: this.frameColorReference,
albumXML: this.albumXML,
pagesXML: this.pagesXML,
languageISO: this.languageISO,
openThemeAccordion: this.openThemeAccordion,
galleryReference: this.galleryReference,
Login_Page: this.Login_Page,
forceMobile: this.forceMobile,
clientApplication: this.clientApplication,
goToPreview: this.goToPreview,
orderID: this.orderID,
CID: this.CID,
unblock: this.unblock,
partnerID: this.partnerID,
forceException: this.forceException,
goDirectlyToEditor: this.goDirectlyToEditor
}
(205,9-43): run-time error JS1018: 'return' statement outside of function: return UrlParameters.urlParameters
*/
我在互联网上搜索了很多,但我没有找到任何解决方案。也许,这是因为我使用的是ES6标准?
我正在使用System.Web.Optimization的1.1.0.0版本。
答案 0 :(得分:0)
System.Web.Optimization
不支持ES6语法
我建议您将gulp
,grunt
或webpack
集成到构建过程中以缩小脚本