Nuxt 无法加载手写笔文件
Nuxt can't load stylus file
我正在尝试在 nuxt 中加载手写笔文件。
首先我使用 npm i -D stylus stylus-loader
安装了手写笔包
然后我在 assets/style
文件夹中创建了一个名为 app.styl
的文件:
@require '~vuetify/src/stylus/settings/_colors'
$theme := {
primary: $blue.darken-2
accent: $blue.accent-2
secondary: $grey.lighten-1
info: $blue.lighten-1
warning: $amber.darken-2
error: $red.accent-4
success: $green.lighten-2
}
// Import Vuetify styling
@require '~vuetify/src/stylus/main'
.page
@extend .fade-transition
然后我将其添加到 nuxt.config.js
中的 css 数组中:
/*
** Global CSS
*/
css: [{ src: '~assets/style/app.styl', lang: 'styl'}],
但是 nuxt.js 在构建中抛出错误:
× error friendly-errors » Failed to compile with 1 errors
> log friendly-errors » This dependency was not found:
> log friendly-errors » * ..\assets\style\app.styl in ./.nuxt/App.js
> log friendly-errors » To install it, you can run: npm install --save ..\assets\style\app.styl
在我的 package.json
中,我的 nuxt 版本为 ^2.3.1,stylus 为 ^0.54.5 和 stylus-loader 为 ^3.0.2。
Full link to package.json and nuxt.config.js
你能用这些信息找出我的设置有什么问题吗?
对于 nuxt js 版本 2,Nuxt 资产文件夹路径应该是这样的
/*
** Global CSS
*/
css: [{ src: '~/assets/style/app.styl', lang: 'styl'}]
希望能解决你的问题
这条线对我有用。在 nuxt.config.js
css: ['~assets/app.styl']
问题讨论的解决方案nuxt issue
参考 webpack stylus options
对于最新的 nuxt (2.14.7),
扩展 webpack 配置映射所有加载器,
build: {
extend (config, { isDev, isClient }) {
[].concat(...config.module.rules.find(e => e.test.toString().match(/\.styl/)).oneOf.map(e => e.use.filter(e => e.loader == 'stylus-loader'))).forEach(stylus => {
Object.assign(stylus.options, {
//preferPathResolver: 'webpack',
sourceMap: true,
stylusOptions: {
//use: ['nib'],
include: ['~assets/styles'], //include all styl files from folder
import: [
'~assets/style/main.styl', //your main styl file
],
},
})
//console.log(stylus)
})
},
这会导入文件并包含 stylus 文件夹。
我正在尝试在 nuxt 中加载手写笔文件。
首先我使用 npm i -D stylus stylus-loader
然后我在 assets/style
文件夹中创建了一个名为 app.styl
的文件:
@require '~vuetify/src/stylus/settings/_colors'
$theme := {
primary: $blue.darken-2
accent: $blue.accent-2
secondary: $grey.lighten-1
info: $blue.lighten-1
warning: $amber.darken-2
error: $red.accent-4
success: $green.lighten-2
}
// Import Vuetify styling
@require '~vuetify/src/stylus/main'
.page
@extend .fade-transition
然后我将其添加到 nuxt.config.js
中的 css 数组中:
/*
** Global CSS
*/
css: [{ src: '~assets/style/app.styl', lang: 'styl'}],
但是 nuxt.js 在构建中抛出错误:
× error friendly-errors » Failed to compile with 1 errors
> log friendly-errors » This dependency was not found:
> log friendly-errors » * ..\assets\style\app.styl in ./.nuxt/App.js
> log friendly-errors » To install it, you can run: npm install --save ..\assets\style\app.styl
在我的 package.json
中,我的 nuxt 版本为 ^2.3.1,stylus 为 ^0.54.5 和 stylus-loader 为 ^3.0.2。
Full link to package.json and nuxt.config.js
你能用这些信息找出我的设置有什么问题吗?
对于 nuxt js 版本 2,Nuxt 资产文件夹路径应该是这样的
/*
** Global CSS
*/
css: [{ src: '~/assets/style/app.styl', lang: 'styl'}]
希望能解决你的问题
这条线对我有用。在 nuxt.config.js
css: ['~assets/app.styl']
问题讨论的解决方案nuxt issue 参考 webpack stylus options 对于最新的 nuxt (2.14.7),
扩展 webpack 配置映射所有加载器,
build: {
extend (config, { isDev, isClient }) {
[].concat(...config.module.rules.find(e => e.test.toString().match(/\.styl/)).oneOf.map(e => e.use.filter(e => e.loader == 'stylus-loader'))).forEach(stylus => {
Object.assign(stylus.options, {
//preferPathResolver: 'webpack',
sourceMap: true,
stylusOptions: {
//use: ['nib'],
include: ['~assets/styles'], //include all styl files from folder
import: [
'~assets/style/main.styl', //your main styl file
],
},
})
//console.log(stylus)
})
},
这会导入文件并包含 stylus 文件夹。