请问这是什么错误呢?加载一个js文件时,无法加载,并出现这样的错误。
Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+php+scss+sql */
self = (typeof window !== 'undefined')
? window // if in browser
: (
(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)
? self // if in worker
: {} // if in node js
);
/**
* Prism: Lightweight, robust, elegant syntax highlighting
* MIT license http://www.opensource.org/licenses/mit-license.php/
* @author Lea Verou http://lea.verou.me
*/
var Prism = (function ()
{
// Private helper vars
var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;
var _ = self.Prism = {
util: {
encode: function (tokens)
{
if (tokens instanceof Token)
{
return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);
}
else if (_.util.type(tokens) === 'Array')
{
return tokens.map(_.util.encode);
}
else
{
//return tokens.replace(/&/g, '&').replace(/ text.length)
{
// Something went terribly wrong, ABORT, ABORT!
break tokenloop;
}
if (str instanceof Token)
{
continue;
}
pattern.lastIndex = 0;
var match = pattern.exec(str);
if (match)
{
if (lookbehind)
{
lookbehindLength = match[1].length;
}
var from = match.index - 1 + lookbehindLength,
match = match[0].slice(lookbehindLength),
len = match.length,
to = from + len,
before = str.slice(0, from + 1),
after = str.slice(to + 1);
var args = [i, 1];
if (before)
{
args.push(before);
}
var wrapped = new Token(token, inside ? _.tokenize(match, inside) : match, alias);
args.push(wrapped);
if (after)
{
args.push(after);
}
Array.prototype.splice.apply(strarr, args);
//console.log(strarr.slice(0));
}
}
}
}
return strarr;
},
hooks: {
all: {},
add: function (name, callback)
{
var hooks = _.hooks.all;
hooks[name] = hooks[name] || [];
hooks[name].push(callback);
},
run: function (name, env)
{
var callbacks = _.hooks.all[name];
if (!callbacks || !callbacks.length)
{
return;
}
for (var i = 0, callback; callback = callbacks[i++];)
{
callback(env);
}
}
}
};
var Token = _.Token = function (type, content, alias)
{
this.type = type;
this.content = content;
this.alias = alias;
};
Token.stringify = function (o, language, parent)
{
if (typeof o == 'string')
{
return o;
}
if (_.util.type(o) === 'Array')
{
return o.map(function (element)
{
return Token.stringify(element, language, o);
}).join('');
}
var env = {
type: o.type,
content: Token.stringify(o.content, language, parent),
tag: 'span',
classes: ['token', o.type],
attributes: {},
language: language,
parent: parent
};
if (env.type == 'comment')
{
env.attributes['spellcheck'] = 'true';
}
if (o.alias)
{
var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];
Array.prototype.push.apply(env.classes, aliases);
}
_.hooks.run('wrap', env);
var attributes = '';
for (var name in env.attributes)
{
attributes += name + '="' + (env.attributes[name] || '') + '"';
}
if(env.type=='ignore')
{
//console.log(env.content);
return env.content;
}
else
{
return '<' + env.tag + ' class="' + env.classes.join(' ') + '" ' + attributes + '>' + env.content + '' + env.tag + '>';
}
};
if (!self.document)
{
if (!self.addEventListener)
{
// in Node.js
return self.Prism;
}
// In worker
self.addEventListener('message', function (evt)
{
var message = JSON.parse(evt.data),
lang = message.language,
code = message.code;
self.postMessage(JSON.stringify(_.util.encode(_.tokenize(code, _.languages[lang]))));
self.close();
}, false);
return self.Prism;
}
// Get current script and highlight
var script = document.getElementsByTagName('script');
script = script[script.length - 1];
if (script)
{
_.filename = script.src;
if (document.addEventListener && !script.hasAttribute('data-manual'))
{
document.addEventListener('DOMContentLoaded', _.highlightAll);
}
}
return self.Prism;
})();
if (typeof module !== 'undefined' && module.exports)
{
module.exports = Prism;
}
;
Prism.languages.markup = {
'ignore': /
|
/i,
'comment': //,
'prolog': /<\?.+?\?>/,
'doctype': //,
'cdata': //i,
'tag': {
pattern: /<\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
inside: {
'tag': {
pattern: /^<\/?[^\s>\/]+/i,
inside: {
'punctuation': /^<\/?/,
'namespace': /^[^\s>\/:]+:/
}
},
'attr-value': {
pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,
inside: {
'punctuation': /=|>|"/
}
},
'punctuation': /\/?>/,
'attr-name': {
pattern: /[^\s>\/]+/,
inside: {
'namespace': /^[^\s>\/:]+:/
}
}
}
},
'entity': /?[\da-z]{1,8};/i
};
// Plugin to make entity title show the real entity, idea by Roman Komarov
Prism.hooks.add('wrap', function (env)
{
if (env.type === 'entity')
{
env.attributes['title'] = env.content.replace(/&/, '&');
}
});
;
Prism.languages.css = {
//'ignore':/
|
|>|</,
//'entity': /&(gt|lt);/i,
'comment': /\/\*[\w\W]*?\*\//,
'atrule': {
pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
inside: {
'punctuation': /[;:]/
}
},
'url': /url\((?:(["'])(\\\n|\\?.)*?\1|.*?)\)/i,
'selector': /[^{};,\s][^{};,]*(?=\s*[^{}]*\{)/,
//'ignore':/>/,
'string': /("|')(\\\n|\\?.)*?\1/,
'property': /(\b|\B)[\w-]+(?=\s*:)/i,
'important': /\B!important\b/i,
'punctuation': /[\{\};:]/,
'function': /[-a-z0-9]+(?=\()/i
};
Prism.hooks.add('before-highlight',function(env){
if(env.language==='css')
{
//将字符>进行替换,以免;被punctuation模式匹配
var reg=/>/g;
env.code=env.code.replace(reg,'codebaa_css_gt');
}
});
Prism.hooks.add('before-insert',function(env){
if(env.language==='css')
{
// 还原替换的>字符
var reg=/codebaa_css_gt/g;
env.highlightedCode=env.highlightedCode.replace(reg,'>');
}
});
if (Prism.languages.markup)
{
Prism.languages.insertBefore('markup', 'tag', {
'style': {
pattern: /