Reputation: 7966
Is it possible to import a Node module (NPM) into a Dart server?
From what I can see, JS interop only works with client-side Dart, is that right?
Can a Javascript library be included into a pubspec file and the content of that library used in the server via js interop?
Is there some other way of including JS in Dart server code?
Upvotes: 13
Views: 2478
Reputation: 1198
If you want to run your Dart app on NodeJS, you need to use package:node_preamble
. https://pub.dev/packages/node_preamble
A prominent package that does that is Sass. In fact, when you compile Sass to CSS, you are most likely using the Dart compiler running on Node. Examining the repository will give you some hints how they go about it: Dart Sass
From what I can see, JS interop only works with client-side Dart, is that right?
Nope If you examine Dart Sass implementation, you will see interop declarations in it. You should be able to create Dart wrappers around JS functionality. Another example that does this is: Firestore for web
The interop uses package:js
edit: just realized how old the original question was :) Ohh well..
Upvotes: 2
Reputation: 657937
Of what I have heard you can build Dart to JS and run the result in Node.js. I guess here you can use Node modules too. Using a Node module when running as Dart is not possible I guess.
Upvotes: 1