Import CSS in a build/production


#1

Hi there,

I’ve installed a package using npm install stuff --save wich is bringing its .js and some css into the project.

The project uses less.

In a template I’m doing:

import 'stuffjs/dist/stuff.css';
import Stuff from 'stuffjs';

In development is all completely fine.
When I run in the dev machine with meteor --settings=settings.json --production is also all completely fine.

But navigating to the deployed build brings says:
Uncaught Error: Cannot find module 'stuffjs/dist/stuff.css'

How I suppose to include in a way that works both in dev and the built app?


#2

Update:

I’ve made a test, commenting out import 'stuffjs/dist/stuff.css'; and adding the .css content of that npm package into a style file and it works for dev.

In dev is all good, the issue remains on the server build.


#3

Update:

changed the build command to:
meteor build . --architecture os.linux.x86_64

No differences in the output.

One thing I’ve noticed is this: When I do a build in the dev (OS X) machine, the .tar file has in
bundle/programs/server/npm/node_modules the following packages:
dotenv meteor meteor-node-stubs minimist mkdirp

But, when I go to check in the server build, expecting the very same list of packages, what I see is that only meteor is present:

bundle/programs/server/npm/node_modules
meteor

Something weird is going on with the build command to make this difference when run on OS X and other platforms? I cannot explain the source of that difference.


#4

Update: there is nothing wrong with the imports. The issue is with the build.
I’m doing the meteor build . --architecture os.linux.x86_64 manually in the dev machine as workaround (OS X). Something about the build pipeline is not doing what’s expected (I’m suspecting on node version at the moment)