播放2.3.10 - text.js的sbt-rjs错误:无法读取属性' normalize'未定义的

时间:2016-01-30 13:12:31

标签: playframework requirejs sbt-rjs

环境:播放2.3.10; sbt 0.13.5; sbt-rjs 1.0.1

我已尝试过针对Play-framework Google group和StackOverflow的类似问题的建议解决方案,但到目前为止还未能解决此问题。我在Google Groups上发布了相同的问题。

我已将Play从2.2.3升级到2.3.10并在运行 activator 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")

我根据建议here在build.sbt中添加了 excludeFilter ,并且还在rjs中尝试了 excludeFilter:= GlobFilter(" text.js&#34 ;) excludeFilter in rjs:= GlobFilter(" text")

我还尝试将 stubModules:[' text'] 添加到build.js,如建议here

如果我从build.js中删除 text:' empty:' ,我收到以下错误:

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

我很感激任何指向我在这里缺少的东西。

感谢。

0 个答案:

没有答案