Comments (18)
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:
from atom-vue.
And I found this issue is somehow related to #4.
from atom-vue.
But can't you just write
<style lang="scss">
</style>
and everything's happy-go-lucky?
from atom-vue.
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:
- https://github.com/vuejs/vue-loader/blob/master/lib/parser.js#L18
- https://github.com/vuejs/vue-loader/blob/master/lib/loader.js#L67
- https://github.com/vuejs/vue-loader/blob/master/lib/loader.js#L86
from atom-vue.
And you have tried:
{ test: /.scss$/, loader: "style!css!sass" },
as I suggested on #4?
from atom-vue.
AH, ok I see. So no abstraction there - that's just for file name ending. Ok…
from atom-vue.
Please check how they handle it in the sublime package then and we'll do the same?
from atom-vue.
Too bad if we can't support old sass simutanously though…?
from atom-vue.
Can we do the same they have:
vuejs/vue-syntax-highlight@22200e7
from atom-vue.
Or does that mean that they just threw away old sass highlighting and mapped both scss and sass to sass?
from atom-vue.
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.
{ 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.
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.
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 yourwebpack.config.js
:vue: { loaders: { sass: 'style!css!sass?indentedSyntax', scss: 'style!css!sass' } }
from atom-vue.
Cool! I'll add to readme and close.
from atom-vue.
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.
@laander Thxs.
from atom-vue.
@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)
- Not using tree sitter grammars HOT 5
- Incomplete scopes for "/>" and "</" causing ligatures not to render HOT 3
- is there anyway to use lang="pug" in vue template? HOT 1
- Syntax highlighting breaks when id attribute has an unquoted value HOT 1
- Null Propagation operator support HOT 1
- JS highlight syntax problem in tag <script>.... HOT 1
- Nullish coalescing operator (??) HOT 6
- Joining @atom-ide-community
- Custom block incorect scope
- Wrong colors when adding a question mark before a dot HOT 2
- text highlighting for tag `v-bind` in style block HOT 1
- <script> and <style> not being highlighted when the cursor is inside the tags HOT 5
- Answering a Call for Maintainers HOT 7
- Request to up to date HOT 4
- Additional snippets via a PR HOT 4
- Editor keeps on crashing after install. HOT 2
- Please add this function! HOT 1
- No support for optional chaining HOT 6
- Use this repo as sub for your snippets? HOT 2
- Atom freezes after hit enter in .vue file HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from atom-vue.