Play 2.3.10 - ошибка sbt-rjs для text.js: невозможно прочитать свойство 'normalize' из неопределенного

Окружающая среда: Play 2.3.10; сб 0,13,5; sbt-rjs 1.0.1

Я попробовал предложенные решения для подобных вопросов на игровой платформе Google group и Stackru, но пока не смог решить эту проблему. Я разместил тот же вопрос в группах Google.

Я обновил Play с 2.2.3 до 2.3.10 и получил следующую ошибку при запуске dist активатора:

[info] TypeError: Cannot read property 'normalize' of undefined

Вот строка кода, которая выдает ошибку:

define([
    ...,
    'text!ui.template.html',
    ...
]

build.js содержит следующее:

require.config({
    ...
    ...
    paths : {
        ...,
        text: 'empty:',
        ...
    }
    ...
});

config.js с фактическими путями выглядит так:

require.config({
    ...
    ...
    paths : {
        ...,
        text: '../bower_components/requirejs-plugins/lib/text',
        ...
    }
    ...
});

Все скрипты, над которыми я хочу работать с rjs, находятся внутри public / scripts. Вот соответствующее содержимое build.sbt:

JsEngineKeys.engineType := JsEngineKeys.EngineType.Node

pipelineStages := Seq(rjs, digest, gzip)

includeFilter in rjs := new FileFilter {
  val scriptsDir = (baseDirectory.value / "public" / "scripts").getAbsolutePath
  def accept(file: File) = file.getAbsolutePath.startsWith(scriptsDir)
}

//excludeFilter in rjs := GlobFilter("text")

excludeFilter in rjs := new FileFilter {
  def accept(file: File) = file.getName.equals("text.js")
}

RjsKeys.mainModule := "app"

RjsKeys.mainConfigFile := new File("scripts/build.js")

RjsKeys.baseUrl := "scripts"

А вот содержимое plugins.sbt:

// The Typesafe repository
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.10")

addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.1")

addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0")

addSbtPlugin("com.typesafe.sbt" % "sbt-gzip" % "1.0.0")

Я добавил excludeFilter в build.sbt на основе предложений здесь, а также попробовал excludeFilter в rjs:= GlobFilter("text.js") и excludeFilter в rjs: = GlobFilter ("text").

Я также попытался добавить stubModules: ['text'] в build.js, как предложено здесь.

Если я удаляю текст: 'empty:' из build.js, я получаю следующую ошибку:

[info] Error: ENOENT, no such file or directory '/path/to/target/web/rjs/build/scripts/text.js'

Буду признателен за любые указания на то, что мне здесь не хватает.

Благодарю.

0 ответов

Другие вопросы по тегам