2017-12-05 1 views
0

는이 같은 JSON의 배열에 정규식, 포함 할 :예기치 않은 토큰/JSON JSON의 배열에 정규식을 포함시키는 방법은 무엇입니까?

"routes:before": { 
    "./middleware/foo": { 
     "enabled": false, 
     "paths": [/^\/(?!css|js|img).+$/ig] // <== doesn't work, throws 
    } 
}, 

을하지만 예외 :이 가능하다

SyntaxError: \middleware.json: Unexpected token/in JSON at position 884

they say 있지만 : 무엇을

In addition to a literal string, route can be a path matching pattern, a regular expression, or an array including all these types.

내가 그리워? JSON의 배열에서 정규식을 전달하는 방법은 무엇입니까? 당신은 string로 저장해야합니다

+2

가능한 [JSON에서 RegExp 및 함수를 저장할 수 있습니까?] (https://stackoverflow.com/questions/8328119/can-i-store-regexp-and-function-in-json) – ctwheels

+0

그래서 첫 번째 귀하의 질문에 중복이라는 질문에 답을 주시면'Store RegExp pattern을 문자열로 저장 하시겠습니까? '라고 대답하여 문제가 해결되지 않습니까? – ctwheels

+0

JSON은 RegExp을 알지 못합니다. JSON은'string','number', '객체만을 인식합니다. ""경로 ": ["/^\/(? css | js | img) ','array','true','false'와'null'을 값으로 사용합니다. –

답변

0

, 즉 "paths": "[/^\/(?!css|js|img).+$/ig]"

그런 다음 재구성 할 수 있습니다 var re = new RegExp(paths, 'i');

JSON은 strings, booleans, numbers, objects, arraysnull 수 있습니다. 정규식이 string 인 경우가 아니면 정규 표현식을 저장/전송할 수 없습니다.

+0

기본적으로 댓글에 답글을 복사 했습니까? 또한 'ie' 코드가 올바르지 않습니다. 일부 설명서와 설명서의 발췌 부분을 제공해야합니다. – ctwheels

+0

부적절한 점은 무엇입니까? 그리고 아니요, 그것은 코멘트의 사본이 아니 었습니다. –

+0

배열로되어 있습니다. 사용자가 문자열을 정규식으로 사용하려고하면 "/^(?! cs | jimg). + $'(문자 그대로)의 문자 세트를 받게됩니다. – ctwheels

관련 문제