Хорошо, так что я работаю над проектом в Nodes, и я столкнулся с небольшой проблемой с ключами в литералах объекта, у меня есть следующие настройки:
var required = {
directories : {
this.applicationPath : "Application " + this.application + " does not exists",
this.applicationPath + "/configs" : "Application config folder does not exists",
this.applicationPath + "/controllers" : "Application controllers folder does not exists",
this.applicationPath + "/public" : "Application public folder does not exists",
this.applicationPath + "/views" : "Application views folder does not exists"
},
files : {
this.applicationPath + "/init.js" : "Application init.js file does not exists",
this.applicationPath + "/controllers/index.js" : "Application index.js controller file does not exists",
this.applicationPath + "/configs/application.js": "Application configs/application.js file does not exists",
this.applicationPath + "/configs/server.js" : "Application configs/server.js file does not exists"
}
}
Okтак многие из вас посмотрят на это и подумают, что все в порядке, но компилятор постоянно говорит мне, что я пропускаю :
(двоеточие), а это не так, похоже, что +
или .
оба влияют на компилятор.
Теперь я верю (не уверен), что литералы объектов создаются во время компиляции, а не во время выполнения, то есть динамические переменные, такие как this.applicationPath
и конкатенация, не будутдоступно :(: (
Какой лучший способ преодолеть подобное препятствие без необходимости переписывать большие куски кода.