[英]Vue-CLI 3: How to include LESS files from outside of /src directory in webpack bundle?
我正在寻找一种方法,将位于我的 Vue-Cli 项目的 /src 目录之外的文件包含到我的 webpack 包中。 需要这些.less 文件只包含在“开发”模式中。
在生产环境中构建时,我们需要链接到 styles 的外部文件夹,如下所示: /assets/styles/main.css
目录结构:
Vue-Project
|-- /Styles
| `-- app
| `-- styles
| |-- main.less
| `-- atoms/modules/etc
| `-- *.less
|-- /src
`-- vue.config.js
我应该链接 WebPack还是更新加载程序选项?
vue.config.js:
module.exports = {
lintOnSave: false,
configureWebpack: config => {
if (process.env.NODE_ENV === "production") {
// mutate config for production...
} else {
// mutate for development...
// CONFIG LESS FILES HERE?
}
}
};
尝试了以下,但没有奏效:
css: {
loaderOptions: {
less: {
data: `@import "@/styles/main.less";`
// @imported .less files from Styles/app/styles/main.less etc into src/styles/main.less
}
}
}
非常感谢对此的任何指导。
您首先需要安装这些包,需要 less-loader 将.less文件转换为.css文件。
npm install concurrently less less-loader less-watch-compiler --save-dev
其次,在您的根文件夹中添加less-watcher.config.json
文件,并将以下代码放入其中。
{
"watchFolder": "Styles/",
"outputFolder": "Styles/",
"sourceMap": true,
"runOnce": false,
"enableJs": true
}
请注意, watchFolder
应该是所有.less文件所在的文件夹, outputFolder
是生成的.css文件所在的文件夹。
现在在您的packages.json
文件中,在脚本object 中添加此代码
"start": "concurrently --kill-others \"less-watch-compiler --config less-watcher.config.json\" \"webpack-dev-server --open --mode development\""
这将确保无论何时开始运行 npm,它都会在运行项目之前重新生成.css文件。
最后在你的index.js
文件中导入.css文件
import "../Styles/app/main.css";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.