首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Webpack 4编译Stylus而不把它导入JS文件?

Webpack是一个现代化的静态模块打包工具,它可以将各种资源(包括JavaScript、CSS、图片等)打包成一个或多个静态资源文件。而Stylus是一种CSS预处理器,它可以让我们使用类似于编程语言的语法来编写CSS。

要使用Webpack 4编译Stylus而不将其导入JS文件,我们可以按照以下步骤进行操作:

  1. 首先,确保已经安装了Node.js和npm(Node.js的包管理器)。
  2. 在项目根目录下,通过命令行工具运行以下命令,初始化一个新的npm项目:
代码语言:txt
复制
npm init -y
  1. 接下来,安装Webpack和相关的loader和插件。运行以下命令:
代码语言:txt
复制
npm install webpack webpack-cli stylus stylus-loader --save-dev

这将安装Webpack、Webpack的命令行工具、Stylus和Webpack的Stylus loader。

  1. 在项目根目录下创建一个名为src的文件夹,并在其中创建一个名为main.styl的Stylus文件。在main.styl中编写所需的CSS样式。
  2. 在项目根目录下创建一个名为webpack.config.js的文件,并在其中配置Webpack。以下是一个简单的配置示例:
代码语言:txt
复制
const path = require('path');

module.exports = {
  entry: './src/main.styl',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
  module: {
    rules: [
      {
        test: /\.styl$/,
        use: [
          'style-loader',
          'css-loader',
          'stylus-loader',
        ],
      },
    ],
  },
};

这个配置文件指定了入口文件为src/main.styl,输出文件为dist/bundle.js。同时,使用了style-loadercss-loaderstylus-loader来处理Stylus文件。

  1. 在命令行中运行以下命令,使用Webpack进行编译:
代码语言:txt
复制
npx webpack --config webpack.config.js

这将根据配置文件进行编译,并将生成的打包文件输出到dist文件夹。

通过以上步骤,我们就可以使用Webpack 4编译Stylus文件而不将其导入JS文件。编译后的CSS样式将通过style标签动态插入到HTML中。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云对象存储(COS)。

腾讯云云服务器(CVM)是一种弹性、安全可靠的云计算基础服务,提供了多种配置的虚拟机实例供用户选择,可满足不同业务场景的需求。了解更多信息,请访问:腾讯云云服务器产品介绍

腾讯云对象存储(COS)是一种高可用、高可靠、强安全的云端存储服务,提供了海量存储空间和数据处理能力,适用于各种场景下的数据存储和管理需求。了解更多信息,请访问:腾讯云对象存储产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • webpack配置优化,让你的构建速度飞起_2023-02-28

    蓝色方框是 webpack-dev-server 代码控制的区域,洋红色的方框是文件系统,文件修改后的变化就发生在这,青色的方框是应用本身。...fullhash(webpack4 是 hash) 每次修改任何一个文件,所有文件名的 hash 至都将改变。所以一旦修改了任何一个文件,整个项目的文件缓存都将失效。...注意:依赖 ES Module。 Webpack 已经默认开启了这个功能,无需其他配置。 Babel Babel 为编译的每个文件都插入了辅助代码,使代码体积过大!...给动态导入文件取名称 修改文件 main.js import sum from "./js/sum"; // 引入资源,Webpack才会对其打包 import "....例如,从 CDN 引入 jQuery,不是把打包: index.html <script src="https://code.jquery.com/jquery-3.1.0.<em>js</em>" integrity

    2.2K10

    webpack配置优化,让你的构建速度飞起

    蓝色方框是 webpack-dev-server 代码控制的区域,洋红色的方框是文件系统,文件修改后的变化就发生在这,青色的方框是应用本身。...fullhash(webpack4 是 hash)每次修改任何一个文件,所有文件名的 hash 至都将改变。所以一旦修改了任何一个文件,整个项目的文件缓存都将失效。...注意:依赖 ES Module。 Webpack 已经默认开启了这个功能,无需其他配置。BabelBabel 为编译的每个文件都插入了辅助代码,使代码体积过大!...给动态导入文件取名称修改文件main.jsimport sum from "./js/sum";// 引入资源,Webpack才会对其打包import "....例如,从 CDN 引入 jQuery,不是把打包:index.html<script src="https://code.jquery.com/jquery-3.1.0.<em>js</em>" integrity=

    2.4K10

    从零开始搭建Vue工程

    ----app.vue --webpack.config.js dist目录存放编译后的资源 src存放源码文件 运行命令 npm init -y one 首先安装基础包 npm...,博主这里暂不测试 two 上面我们已经可以将vue文件编译出来,这个时候可以考虑一些静态资源文件,比如css,图片资源等。...css预处理 在项目中我们一般会用到css预处理器,那么这些与处理器如何通过webpack编译成普通的css文件 这里有stylus为例 安装stylus相关的包 npm i stylus stylus-loader...运行 npm run dev 可以在bundle.js中看到stylus语法最终被编译成了css h1[data-v-5ef48958] {\\n color: #333;\\n}\\nh1 span...如果将类库文件js文件打包到一起,那么类库文件将随着我们js 文件更新更新,这样就不能最大限度的利用浏览器缓存 这个时候我们就不能以将所有文件都取名为bundle.jswebpack.pro.js

    83910

    入职第三天:vue-loader在项目中是如何配置的

    什么是vue-loader 这是我入职第三天的故事,在写这篇文章之前,先来看看咱们今天要讲的主角——vue-loader,你对了解多少?...这是我今天的回答,确实,vue-loader是webpack的一个loader,用于处理.vue文件。 .vue 文件是一个自定义的文件类型,类 HTML 语法描述一个 Vue 组件。...紧接着,我们需要打开你擅长的编辑器,这里我选用的是VSCode,顺手将项目导入进来,你会看到最原始的一个项目工程目录,里面只有一些简单的项目构成,还没有vue-loader的配置文件: 首先,我们需要在项目根目录下面新建一个...webpack.config.js文件,然后开始我们今天的主题。...注意这只是提取 *.vue 文件 - 但在 JavaScript 中导入的 CSS 仍然需要单独配置。

    97210

    【译】如何使用webpack减少vuejs打包的大小

    npm install --save-dev webpack-bundle-analyzer 接下来,我在vue.config.js文件中配置webpack来使用它。...下面是我的配置文件vue.config.js的内容: const BundleAnalyzerPlugin = require('webpack-bundle-analyzer') .BundleAnalyzerPlugin...我们根本没有使用moment.js的这一部分,所以我们打包中包含了不必要部分。 幸运的是,我们可以删除不是使下面的调用导入所有moment.js。...这是我添加到我的vue.config.js文件中的插件代码: new webpack.IgnorePlugin(/^\\....这是我的插件代码现在的样子: image.png 最后一步是告诉webpack使用vuetify-loader插件,以便导入我们正在使用的组件。 我将需要的插件添加到插件数组。

    4.2K20

    一张图教你快速玩转vue-cli3

    vue.config.js定制自己的webpack vue项目部署 说明 本文末尾会给出一个以上提到的所有功能的一个配置文件,可供大家学习参考。...最后可以在vue.config.jswebpack自定义配置 2.添加浏览器支持 browserslist 我们可以通过package.json 文件里的 browserslist字段或一个单独的 ..../utils')) // 修改静态资源打包方式,下例为超过10k才文件导入的方式,否则为base64.默认为4k // config.module /.../utils')) // 修改静态资源打包方式,下例为超过10k才文件导入的方式,否则为base64.默认为4k // config.module /..."vue-template-compiler": "^2.6.10" } } 更多推荐 3分钟教你原生js实现具有进度监听的文件上传预览组件 使用Angular8和百度地图api开发《旅游清单》

    2K10

    Vue 脚手架项目分析

    build以及config中的js .eslintrc.js: 代码规范化配置文件 .gitignore: 忽略上传一些文件或配置 .postcsssrc.js: js来处理css index.html...如果你不介意污染全局变量(如上面提到的业务代码),放心大胆地 babel-polyfill ;如果你在写模块,为了避免污染使用者的环境,没的选,只能用 babel-runtime + babel-plugin-transform-runtime...(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?...(), // 热更新插件 new webpack.NamedModulesPlugin(), //这个插件的作用是在热加载时直接返回更新文件名,不是文件的id。...// 3.当在编译过程中请求某个资源时,webpack-dev-server不会让这个请求失败,而是会一直阻塞,直到webpack编译完毕 var devMiddleware = require('webpack-dev-middleware

    1.8K40

    一张图教你快速玩转vue-cli3

    vue.config.js定制自己的webpack vue项目部署 说明 本文末尾会给出一个以上提到的所有功能的一个配置文件,可供大家学习参考。...最后可以在vue.config.jswebpack自定义配置 2.添加浏览器支持 browserslist我们可以通过package.json 文件里的 browserslist字段或一个单独的 .browserslistrc...import '@babel/polyfill',这种方式的问题就是会增加包的大小 3.配置scss/stylus共享全局变量 对与scss,可以使用如下方式开启: // vue.config.js.../utils')) // 修改静态资源打包方式,下例为超过10k才文件导入的方式,否则为base64.默认为4k // config.module /.../utils')) // 修改静态资源打包方式,下例为超过10k才文件导入的方式,否则为base64.默认为4k // config.module /

    3.1K80

    懒人Parcel

    利用多核处理提供极快的性能,并且你不需要进行任何配置。 快速,零配置的Web应用程序打包器。 特性 ? 非常快的打包时间 - 多核编译,以及文件系统缓存,这样即使在重新启动后也能快速重建。 ?...如果您导入不同类型的资源(例如,如果在js导入一个css文件), 新建一个子包,并在父级中保留一个引用。.../images/background.png'); } 除了纯 CSS ,还支持其他编译成 CSS 语言,如 LESS ,SASS 和 Stylus ,并以相同的方式工作。...可以 npm 来安装: npm install node-sass 一旦 node-sass 安装完成,你就可以在 JavaScript 文件导入 SCSS 文件。 import '...., Webpack 通过插件和 Loader 机制去让第三方扩展这会拉低性能; Parcel 内置多进程并行构建, Webpack 默认是单进程构建 ( Webpack 也支持多进程 ); 导致 Parcel

    2K10

    Vue CLI 2.x搭建vue,目录最全分析

    new webpack.NoEmitOnErrorsPlugin(),//webpack编译错误的时候,中断打包进程,防止错误代码打包到文件中 // 将打包编译好的代码插入index.html...时根据package.json配置生成的npm安装包的文件4、src文件夹: 我们需要在src文件夹中开发代码,打包时webpack会根据build中的规则(build规则依赖于config中的配置...(4)App.vue:是整个项目的主组件,所有页面都是通过使用开放入口在App.vue下进行切换的(所有的路由都是App.vue的子组件) (5)main.js:入口js文件...(3).gitignore:配置git提交时需要忽略的文件4)postcssrc.js: autoprefixer(自动补全css样式的浏览器前缀);postcss-import(@import引入语法...3、生成打包文件 :npm run build 然后你会发现项目多了个dist文件夹(用于部署到生产环境,是打包压缩之后的src文件夹) ?

    1.2K20

    Vue.js高仿饿了么外卖App学习记录

    开发一款vue.js开发一款app,使用vue.js是一款高效的mvvm框架,轻量,高效,组件化,数据驱动等功能便于开发。使用vue.js开发移动端app,学会使用组件化,模块化的开发方式。...vue-resource与后端做数据交互,vue-router前端路由,better-scroll的Js库等。使用vue-cli脚手架,搭建基本代码框架,vue-router官方插件管理路由。...Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件,Vue.js 自身不是一个全能框架——只聚焦于视图层。因此非常容易学习,非常容易与其它库或已有项目整合。...目录/文件说明 build项目构建(webpack)相关代码 config配置目录,包括端口号等。我们初学可以使用默认的。...App.vue: 项目入口文件,我们也可以直接将组件写这里,不使用 components 目录。 main.js: 项目的核心文件。 static静态资源目录,如图片、字体等。

    2.3K11
    领券