2017-02-02 3 views
0

я могу использовать JQuery из Scala.js довольно хорошо:Как импортировать UglifyJS из Scala.js?

jsDependencies += "org.webjars" % "jquery" % "2.2.1"/"jquery.js" minified "jquery.min.js" 

Теперь я хотел бы использовать UglifyJS и его webjar структура кажется немного отличается. Там, кажется, нет уменьшенной JS файла, и даже главный файл, который, вероятно, содержит полную библиотека выглядит по-другому, это не имеет никакого .js расширения и начинается со следующими строками:

#! /usr/bin/env node 
// -*- js -*- 

"use strict"; 

var UglifyJS = require("../tools/node"); 

Может ли это webjar быть использован с Scala. js вообще, и если да, то как? Я попытался следующие, но это не сработало:

jsDependencies += "org.webjars" % "uglifyjs" % "2.7.4"/"bin/uglifyjs" 

С этой линией была SBT ошибка:

[ошибка] (тест: resolvedJSDependencies) org.scalajs.core.tools.jsdep.JSLibResolveException Некоторые ссылки на библиотеки JS не могут быть решены:

[ошибка] - Отсутствует JS библиотека: бен/uglifyjs

[ошибка] происходящий из: scalafromjs: тест, scalafromjs: компилировать

ответ

1

Uglify опубликован как uglify-js, а не uglifyjs. Кроме того, webjar не был создан для версии 2.7.4, но есть один для 2.7.5.

Вы можете легко запросить автоматическое создание webjar для 2.7.4 за несколько кликов по http://www.webjars.org/npm, если вам нужна эта конкретная версия.

Если вы заходите на веб-сайт webjars и ищите «uglify-js», вы увидите конфигурацию зависимостей, которую вам нужно использовать: "org.webjars.npm" % "uglify-js" % "2.7.5" (плюс файл, который вы хотите).


Обратите внимание, что по состоянию на 0.6.14 Scala.js поддерживает НПЕ модули с использованием scalajs-bundler.

Эта новая система намного превосходит webjars - у вас есть ВСЕ модули и версии npm, нет необходимости запускать создание самостоятельно (подождите, пока вы не займетесь зависимостями webjar!), Нет необходимости ждать обновления индекса и т. д.

+0

Я испытываю ту же проблему с [2.7.5 uglify-js] (https://mvnrepository.com/artifact/org.webjars.npm/uglify-js), как и с [2.7.4 uglifyjs ] (https://mvnrepository.com/artifact/org.webjars/uglifyjs). Его архив jar не содержит 'uglifyjs.js', только' bin/uglifyjs'. – Suma

+0

«scalajs-bundler» является многообещающим, но, вероятно, есть некоторые дополнительные шаги, чтобы заставить его работать. Он добавляет зависимости не в 'scalafromjs-test-jsdeps.js', а в' scalajs-bundler/scalafromjs-test-fastopt.js', поэтому запуск приложения или тестов обычно не загружает зависимости. – Suma

+0

Я разместил [новый вопрос] (https://stackoverflow.com/questions/42021880/how-to-use-scalajs-bundler-with-client-only-app) о клиенте. – Suma

Смежные вопросы