webpack 解析样式(手写笔)以及 vue.js 组件中的别名

标签 webpack vue.js stylus webpack-style-loader

在我的 webpack.config.js 文件中的 vue.js 项目中,我有这个:

///...,
resolve: {
  extensions: ['.js', '.vue', '.json'],
  alias: {
    'vue$': 'vue/dist/vue.common.js',
    'assets': path.resolve(__dirname, './src/assets'),
    'components': path.resolve(__dirname, './src/components')
  }
},
// ....

这允许我在任何 Vue 组件 中使用其他组件,如下所示:

import 'component/path/to/MyComponent'

不必想知道我可能在我的组件树中的什么地方。

我希望你在 styles 尤其是 `stylus`` 方面也有同样的能力

假设我有 src/assets/funcs.styl 中的 stylus 文件:

add(a)
  a + a

还有一个组件 src/components/a/very/long/path/MyComponent.vue:

<template>
  <div id="my-component">
    <h1>{{ msg }}</h1>
  </div
</template>

<script>

export default {
  name: 'my-component',
  data () {
    return {
      msg: 'A title'
    }
  }
}
</script>

<style lang="stylus" scoped>
@import "../../../../../../assets/funcs.styl"

h1
 margin add(30px)

</style>

我希望能够替换这一行

@import "../../../../../../assets/funcs.styl"

由此

@import "assets/funcs"

使用 webpack 解析和别名功能,非常适合 js 文件。 这将避免在大型项目中很难找到我在深层组件中可能需要的手写笔混合和功能的错误。

他们有办法做到这一点吗?
它必须是功能请求吗?在 webpack 上?在 vue-style-loader 上?在 stylus-loader 上?

任何精度将不胜感激;-)

塞布

最佳答案

你应该使用

@import '~assets/funcs';

关于webpack 解析样式(手写笔)以及 vue.js 组件中的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41957839/

相关文章:

javascript - 将 jquery-csv 与 webpack 一起使用?

javascript - 像在 php foreach 中一样在 vue js 中循环以获取 html 表

javascript - 是否可以使用 javascript 扩展手写笔?

angular - WebSocket 连接到 'ws://localhost:4000/sockjs-node/612/2pdjfv15/websocket' 失败 : Connection closed before receiving a handshake response error

javascript - react : Read configurations from external file

javascript - 使用Webpack、ES6进行React,简单组件不显示

vue.js - 在 v-data-table Vuetify 中添加超链接

javascript - 命名事件处理程序方法 "onEvent"的用例有哪些

html - 意外的不透明行为

css - 手写笔迭代字符串