artfulrobot
artfulrobot

Reputation: 21427

Laravel mix won't build in production mode since update

I'm running Laravel Mix in a non-Laravel project, to compile some SASS + JS.

It was working fine, and it still is in npm run dev mode, but npm run prod crashes:

[email protected] prod /var/www/path/to/aah cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --config=node_modules/laravel-mix/setup/webpack.config.js

ERROR Failed to compile with 2 errors15:50:46

error in ./src/bootstrap.scss

Module build failed (from ./node_modules/css-loader/index.js): ModuleBuildError: Module build failed (from ./node_modules/css-loader/index.js): Unclosed string (11:115694)

(removed a couple of massively long lines of compiled CSS!)

at /var/www/.../aah/node_modules/webpack/lib/NormalModule.js:316:20

  at /var/www/.../aah/node_modules/loader-runner/lib/LoaderRunner.js:367:11

  at /var/www/.../aah/node_modules/loader-runner/lib/LoaderRunner.js:233:18

  at context.callback (/var/www/.../aah/node_modules/loader-runner/lib/LoaderRunner.js:111:13)

  at Object.<anonymous> (/var/www/.../aah/node_modules/css-loader/lib/loader.js:44:18)        

  at /var/www/.../aah/node_modules/css-loader/lib/processCss.js:214:4

webpack.mix.js

let mix = require('laravel-mix');
mix.js('src/bootstrap.js', 'aah/js/')    
  .js('src/aah.js', 'aah/js/')           
  .sass('src/bootstrap.scss', 'aah/css/')
  .sass('src/civicrm.scss', 'aah/css/')  

package.json

  "dependencies": {                      
    "bootstrap-sass": "^3.4.1"           
  },                                     
  "devDependencies": {                   
    "cross-env": "^6.0.3",               
    "laravel-mix": "^5.0.5",             
    "node-sass": "^4.14.1",              
    "resolve-url-loader": "^3.1.1",      
    "sass-loader": "^8.0.2",             
    "vue-template-compiler": "^2.6.12"   
  }                                      

Upvotes: 2

Views: 1017

Answers (1)

user633440
user633440

Reputation:

If you update Laravel Mix and your package versions, it works both in dev and prod. But, of course, I don't know what your JS and SCSS contents are.

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production"
    },
    "devDependencies": {
        "axios": "^0.21.4",
        "bootstrap-sass": "^3.4.1",
        "cross-env": "^7.0.3",
        "laravel-mix": "^6.0.31",
        "node-sass": "^6.0.1",
        "resolve-url-loader": "^4.0.0",
        "sass": "^1.42.1",
        "sass-loader": "^12.1.0",
        "vue-template-compiler": "^2.6.14"
    }
}

What does your ./src/bootstrap.scss look like?

Upvotes: 0

Related Questions