I want to create js files using a template engine with Scala. Is it possible with the popular templating engines for Scala, namely Play and Scalate? If possible, than what are the pros and cons for using either of them?
Scala template engine for creating js files
363 Views Asked by Dondey At
2
There are 2 best solutions below
2
Haspemulator
On
It really depends on what you want to achieve, i.e. how sophisticated your JavaScript code will be, but, unless it's something really small and simple, I'd suggest using the Scala.js. This way you basically will write some Scala code that will compile into JavaScript, and that compiled JavaScript you should be able to include into your Play application.
Advantages of writing Scala vs JavaScript should be pretty obvious (type safety, using lots of the existing Scala libraries). Disadvantage would be some delays for Scala -> JavaScript compilation, and also lack of the same seamless integration of Scala.js and Play, like Play has with its own templating engine. It's up to you to decide if the extra work to make these 2 work together worth it.
Related Questions in SCALA
- Mocking AmazonS3 listObjects function in scala
- Last SPARK Task taking forever to complete
- How to upload a native scala project to local repo by sbt like using "maven install"
- Folding a list of OR clauses in io.getquill
- How to get latest modified file using scala from a folder in HDFS
- Enforce type bound for inferred type parameter in pattern matching
- can't write pyspark dataframe to parquet file on windows
- spark streaming and kafka integration dependency problem
- how to generate fresh singleton literal type in scala using macros
- exception during macro expansion: type T is not a class, play json
- Is there any benefit of converting a List to a LazyList in Scala?
- Get all records within a window in spark structured streaming
- sbt publishLocal of a project with provided dependencies in build.sbt doesn't make these dependencies visible to projects using the project as library
- Scala composition of partially-applied functions
- How to read the input json using a schema file and populate default value if column not being found in scala?
Related Questions in PLAYFRAMEWORK
- Install Play 1.7.1 on Windows
- Handling of WebSocket Client Messages in Play Framework
- Handling WebSocket Connections in Play Framework
- Handling WebSocket Connections in Play Framework in Scala
- build.sbt error: value addRepositoryAuthentication is not a member of lmcoursier.CoursierConfiguration
- How to log incoming request with Scala & Play Framework?
- Optionally enable Scala play to accept mLTS credentials?
- reactivemongo with scala3, pekko, play-3
- Specs 2 - I want to mock one of the injected modules into the controller class
- Scala3 equivalent to -Wconf src filter
- Using Selenium in Scala play not only for testing
- How to execute PUT REST client code using playframework in scala
- ERROR akka.actor.ActorSystemImpl(applica Uncaught error from thread, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem
- Autogenerating unnapply for play form handling in scala3 for single-element case classes
- Play framework + Java +Ebean models.Donation is NOT an Entity Bean registered with this server?
Related Questions in PLAYFRAMEWORK-2.0
- Scala play dependency issue
- Special character in key in the conf file for Internationlization in play framework
- Play evolutions not updating the status to applied
- Type mismatch in recursive function using Bitbucket API and Playframework
- Access to dynamic Images with vue and playframework
- JsLookup on multiple level array using play Json library (or any other suggestion)
- Unable to display images from local inventory in Play 2 framework using Scala
- Play Framework - Respond with JSON after uploading a file (multipartFormData)
- Play Framework 2.8.8 with AWS Java SDK 1.12.6 (com.fasterxml.jackson.databind.JsonMappingException)
- PlayFramework - what is the alternative to response.getBodyAsStream()?
- Elasticsearch Java-Play Framework - in query BoolQueryBuilder to write a query
- Using MockitoSugar of scalatestplus-play deprecated
- IntelliJ always runs entire ScalaTest suite 17 times
- How use Play Framework 2.8 WebSocket with Sink and Source?
- How to get body from a request?
Related Questions in TEMPLATE-ENGINE
- Using Thymeleaf to generate data interpolation in a .txt file, within a web application
- Go template: Can't use HTML tag inside range block
- How to escape colon in the attribute key with Thymeleaf
- Template engine styles render not working
- Freemarker template not found exception in Quarkus
- Can a Choice selection in a template be used to set another property
- Passing Pug variables from child template for use in parent template block
- Thymeleaf Template Processing Exception: Neither BindingResult nor plain target object available as request attribute
- Unable to load thymleaf template in Spring boot App
- Pug cannot find installed Highlight.js JSTransformer filter
- Is it safe to use python str.format method with user-submitted templates in server-side?
- A lack of line breaks in browser's source view using html-express-js template engine
- nodejs without template engines?
- Template Tool kit - Subtract days from a given date in the template
- Jinja2 cannot read a template file with a particular full path
Related Questions in SCALATE
- Scalatra - not found: object scalate
- Scala Templates: Map a String to a Template
- Can IntelliJ IDEA offer proper Scala assistance with Scalate's flavor of Jade / Pug?
- SBT multi module project: how to make static files (resources) available in main module?
- Scalate's render tag is not able to resolve the template
- Is scalate template size limited to 64k?
- how to specify a custom stylesheet in scalate ssp
- How to add style sheets in Scalate with Jade syntax
- Scala template engine for creating js files
- Embedding Json in Scalate
- Error installing scalate on osx
- Scalate SSP fails on certain if blocks
- mustache how to get element in array by index
- how to get Table sent by scalate ssp in a javascript function
- Setup Scalate in Play Framework 2.3.x
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Just create view with
.jsext, i.e.:app/views/myScript.scala.jsand dummy content:Then add an action into your controller:
or in Java version:
Add the route to this action:
So you can use this route directly:
note, that Play should return valid
Content-Type:text/javascript; charset=utf-8in the response, anyway depending on version you are using it may be required to enforce this manually within your action (use browser's inspection tool to check the response type)