DEV Community

Brian Hanna
Brian Hanna

Posted on

Import dependencies with Svelte and Rollup?

I'm trying out Svelte. I've followed the instructions on getting a starter project going. I've made some minor customizations, and added one library to help with making fetch requests (build-url).

Everything works great! I'm able to import build-url using this syntax in my Home.svelte file:

import buildUrl from '../node_modules/build-url';

However, I'm coming from Angular; I'm very, very used to omitting the path the node_modules from my code entirely; Angular just finds what it needs. My ideal end state would be the following:

import buildUrl from 'build-url';

Is there a Rollup configuration I can use to mimic this behavior? I'm not against using a path to the node_modules folder, but I can't help but feel like I'm doing it wrong. If I can't do it with Rollup, is it possible with another bundler like webpack or Parcel?

Top comments (1)

richharris profile image
Rich Harris

If you're using the starter template, you should already have rollup-plugin-node-resolve and rollup-plugin-commonjs plugins installed, it should Just Work. Indeed, adding

import buildUrl from 'build-url';
Enter fullscreen mode Exit fullscreen mode

to a component in a fresh project works exactly as you'd expect. Are you getting any error messages? Have you done npm install build-url?

For future reference, questions like these are better asked over on Stack Overflow using the svelte tag, or in, than on which is more for blog posts etc than support requests.