Giter Site home page Giter Site logo

Comments (18)

andre-brdoch avatar andre-brdoch commented on June 8, 2024 2

How would a solution for a nuxt project look like? Nuxt is taking care of the webpack config, and I am not sure what is the correct way to extend it.

Syntax highlighting looks a bit off:
image

from atom-vue.

aidistan avatar aidistan commented on June 8, 2024

And I found this issue is somehow related to #4.

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

But can't you just write

<style lang="scss">
</style>

and everything's happy-go-lucky?

from atom-vue.

aidistan avatar aidistan commented on June 8, 2024

There is no special handling for this in vue-loader. The lang attribute will be passed directly to find a corresponding loader, which raises loader-not-found errors when I write like that.

Related lines:

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

And you have tried:

{ test: /.scss$/, loader: "style!css!sass" },

as I suggested on #4?

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

AH, ok I see. So no abstraction there - that's just for file name ending. Ok…

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

Please check how they handle it in the sublime package then and we'll do the same?

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

Too bad if we can't support old sass simutanously though…?

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

Can we do the same they have:

vuejs/vue-syntax-highlight@22200e7

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

Or does that mean that they just threw away old sass highlighting and mapped both scss and sass to sass?

from atom-vue.

aidistan avatar aidistan commented on June 8, 2024

Yeah. I think we should just throw away the old sass highlighting (sass) and mapped both scss and sass to scss (not sass)?

from atom-vue.

aidistan avatar aidistan commented on June 8, 2024

{ test: /.scss$/, loader: "style!css!sass" } only works for .scss files processed by Webpack, not for <style lang="scss">...</style> codes. Since the latter one has already been processed by vue-loader through scss-loader (not exists, will raise an error).

The problem has existed for a loong time, and not well been handled by vue-loader and vue-syntax-highlight. I guess maybe the majority of the Vue community are Sublime - Stylus guys 😓

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

Please consider PR for mapping both to scss then and I'll release right
away.

On Thu, Nov 5, 2015 at 10:31 AM Aidi Stan [email protected] wrote:

{ test: /.scss$/, loader: "style!css!sass" } only works for .scss files
processed by Webpack, not for <style lang="scss">...</style> codes. Since
the latter one has already been processed by vue-loader through
scss-loader (not exists, will raise an error).

The problem has existed for a loong time, and not well been handled by
vue-loader and vue-syntax-highlight. I guess maybe the majority of the
Vue community are Sublime - Stylus guys [image: 😓]


Reply to this email directly or view it on GitHub
#5 (comment).

from atom-vue.

aidistan avatar aidistan commented on June 8, 2024

Finally I manage to find a way to fix this by adding following lines in webpack.config.js:

module.exports = {
  // ...
  vue: {
    loaders: {
      scss: 'style!css!sass'
    }
  }
};

Now we can support both sass and scss simutanously in this way.

I suggest to add a notice for this common pitfall:

Since the current version of vue-loader cannot handle correctly with sass/scss with defaults, following lines are suggested to be added to your webpack.config.js:

vue: {
  loaders: {
    sass: 'style!css!sass?indentedSyntax',
    scss: 'style!css!sass'
  }
}

from atom-vue.

hedefalk avatar hedefalk commented on June 8, 2024

Cool! I'll add to readme and close.

from atom-vue.

laander avatar laander commented on June 8, 2024

Just FYI, vue-loader seems to be using it's own fork of style-loader per default (vue-style-loader), so i had to install style-loader in order for Webpack not to break. Using the vue one instead, you could do this:

vue: {
  loaders: {
    sass: 'vue-style!css!sass?indentedSyntax',
    scss: 'vue-style!css!sass'
  }
}

from atom-vue.

aidistan avatar aidistan commented on June 8, 2024

@laander Thxs.

from atom-vue.

FTAndy avatar FTAndy commented on June 8, 2024

@laander your way is not useful for me, I have to add style-loader in this vue-loader version

from atom-vue.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.