webpack: запятая в строке вызывает синтаксическую ошибку во время связывания - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь связать этот файл в мою основную JS.

var constants = {
    height: 600,
    width: 400,
    default_bezier = "[ { \"startPoint\" : [51.6503017608354,203.464445873753], \"endPoint\" : [-52.41285540263849,202.37245643258615], \"startControlPoint\": [-9.043960791649624,202.53176818590896], \"endControlPoint\" : [-57.822702172883595,218.9418611624324] }, { \"startPoint\" : [-52.41285540263849,202.37245643258615], \"endPoint\" : [-5.570997193470086,172.0221729966046], \"startControlPoint\": [-47.00300863239339,185.8030517027399], \"endControlPoint\" : [-23.03585320491517,179.86237947171952] }, { \"startPoint\" : [-5.570997193470086,172.0221729966046], \"endPoint\" : [9.324396434959688,9.376975066207507], \"startControlPoint\": [10.884005326634842,164.63530320382674], \"endControlPoint\" : [-4.968072864533834,110.62618662928577] }, { \"startPoint\" : [9.324396434959688,9.376975066207507], \"endPoint\" : [5.6297169670964,-110.17611809084356], \"startControlPoint\": [23.153152351097606,-88.58724679549941], \"endControlPoint\" : [-7.361202275296376,-53.760928830398264] }, { \"startPoint\" : [5.6297169670964,-110.17611809084356], \"endPoint\" : [53.717335525525975,-176.2424857013046], \"startControlPoint\": [14.357981611994795,-148.08003333114038], \"endControlPoint\" : [28.00328937556781,-176.2424857013046] } ]"
}

export {constants};

однако он выдает эту синтаксическую ошибку неожиданный токен, а затем указывает на запятую:

ERROR in ./app/public/wp-content/themes/rise-child/js/maker-two/constants.js
Module build failed: SyntaxError: C:\Users\tinti\Local Sites\sextoys\app\public\wp-content\themes\rise-child\js\maker-two\constants.js:
expected token (5:16)

  3 |   height: 600,
  4 |   width: 400,
> 5 |   default_bezier = "[ { 'startPoint' : [51.6503017608354,203.464445873753], 'endPoint' : [-52.41285540263849,202.37245643258615], 'star
ntrolPoint': [-9.043960791649624,202.53176818590896], 'endControlPoint' : [-57.822702172883595,218.9418611624324] }, { 'startPoint' : [-52.41
540263849,202.37245643258615], 'endPoint' : [-5.570997193470086,172.0221729966046], 'startControlPoint': [-47.00300863239339,185.803051702739
 'endControlPoint' : [-23.03585320491517,179.86237947171952] }, { 'startPoint' : [-5.570997193470086,172.0221729966046], 'endPoint' : [9.3243
34959688,9.376975066207507], 'startControlPoint': [10.884005326634842,164.63530320382674], 'endControlPoint' : [-4.968072864533834,110.626186
28577] }, { 'startPoint' : [9.324396434959688,9.376975066207507], 'endPoint' : [5.6297169670964,-110.17611809084356], 'startControlPoint': [2
53152351097606,-88.58724679549941], 'endControlPoint' : [-7.361202275296376,-53.760928830398264] }, { 'startPoint' : [5.6297169670964,-110.17
809084356], 'endPoint' : [53.717335525525975,-176.2424857013046], 'startControlPoint': [14.357981611994795,-148.08003333114038], 'endControlP
t' : [28.00328937556781,-176.2424857013046] } ]"
    |                  ^
  6 | }

почему я не могу использовать запятую в строке?

1 Ответ

0 голосов
/ 11 января 2019

Так близко, но указатель фактически указывает на начало этой строки (хотя это трудно увидеть).

default_bezier = "[ { \"startPoint\" : [51...
               ^

То, что = должно быть :, как в двух строках над ним.

Хотя это трудно увидеть, вы можете проверить это с информацией, которую дает вам ошибка, в частности

expected token (5:16)

где 5 - номер строки (в данном случае строка с default_bezier = ...), а 16 - номер столбца (символа). Если вы посчитаете 17 символов в начале этой строки (16 + 1, потому что 0 - первый столбец), вы получите =:)

...