1、webpack编译打包Sass编译的css进js文件
cnpm install css-loader --save-dev //css-loader 是将css打包进js cnpm install style-loader --save-dev //style-loader 将css通过require方式引入进来 cnpm install sass-loader node-sass --save-dev //同时安装sass 和sass-loader
目录结构(publi为src编译生成的文件)
html代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> </head> <body> <div id="app">6r</div> <p id="demo">456</p> </body> <script type="text/javascript" src="public/js/index.js"></script> <!-- assets是通过publicPath虚构出来的暂存空间,它不直接在硬盘内存中,通过webpack-dev-server来运行 --> </html>
index.scss
$col:pink; @import "./demo"; //导入css body{ font-size: 900%; #app{color:$col;} }
demo.css
#demo{color:blue;}
index.js
var $ = require('../../node_modules/jquery'); //loader-css require("../css/index.scss"); $('#app').html("1334"); $("#app").click(function(event){ alert(123) });
webpack.config.js
var webpack = require("webpack"); var webpckDevServer = require("webpack-dev-server"); module.exports={ entry: __dirname +"/src/js/index.js",//入口文件 webpack-dev-server 实时刷新监控的目录 output:{ path: __dirname +"/public/", filename: "js/index.js", publicPath: '/assets/'//打开webpack-dev-server 服务器工具时可以再index里面引用此地址,打开速度会快一点,另外他不是直接在内存中存放而是先在webpack的虚拟内存中暂存,所以在webpack未编译之前能够运行,如果直接写实体目录则不经过webpack打包编译,浏览器是识别不了的,所以先放在这个虚拟目录里,因为是虚拟目录,所以你看不到他的编译文件 }, devServer:{ contentBase:"./",//根目录 host:'192.168.199.171',//ip设置 要相对的进行改变 port:"80",//端口 colors:true, open:true//自动打开浏览器 }, module:{ loaders:[ { test:/\.css$/,//匹配.css文件 loader:'style-loader!css-loader'//用style-loader去解释css }, { test: /\.scss$/, loaders: ["style-loader", "css-loader", "sass-loader"] } ] } }
package.json
{ "name": "webp2", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "www": "cnpm run demo && cnpm run devServer", "demo": "webpack --watch --progress -d -p --color", "demo2": "webpack --config webpack.config123.js --watch --progress -d -p --color", "start": "webpack --watch --progress -d -p --color", "devServer": "webpack-dev-server --inline --hot" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "css-loader": "^0.26.1", "jquery": "^3.1.1","node-sass": "^4.0.0", "sass-loader": "^4.1.0", "style-loader": "^0.13.1", "webpack": "^1.14.0", "webpack-dev-server": "^1.16.2" } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?