webpack的配置(一)

正点原子RK3588 Android 12镜像构建实战:从环境配置到烧录验证全指南 本文提供了一份基于正点原子RK3588开发板的Android 12镜像构建全流程实战指南。内容涵盖从Ubuntu环境配置、SDK获取、编译内核与系统,到最终镜像打包与烧录验证的完整步骤,并分享了内核驱动定制与系统优化技巧,旨在帮助开发者高效完成瑞芯微RK3588平台的系统定制工作。 阅读详情

node&npm

下载node.js:https://nodejs.org/zh-cn/

安装完成之后,任何一个目录都可以用npm命令

node -v 可以查看node.js的版本信息,同时也是检验node.js是否安装成功

npm:NodeJS包管理和分发工具

如果Npm太慢,安装阿里的cnpm,执行下面命令:

npm install -g cnpm --registry=https://registry.npm.taobao.org

npm -v 可以查看npm版本信息


一些常用的npm命令:

npm install <name>   安装node.js的依赖包,后面加版本号的方式可以安装指定版本

npm install <name> -g    将包安装到全局环境

但是代码中,直接通过require()的方式是没有办法调用到全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

npm install <name> --save-dev    安装的同时,并将其写入package.json依赖字段devDependencies中

项目路径中如果有package.json文件是,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包,这样代码提交到GitHub时,就不用提交node_modules这个文件夹了

npm init     会引导你创建一个package.json文件,包括名称,版本,作者这些信息等

npm uninstall <name>    卸载

npm update <name>     更新

npm ls    列出当前安装的了所有包 

npm root    查看当前包的安装路径

npm root -g     查看全局的包的安装路径

npm help  帮助


webpack

webpack简介

一款模块加载器兼打包工具
支持AMD,CMD写法
处理依赖关系,然后解析出模块之间的依赖,将代码打包
吧各种资源,都作为模块来使用和处理
比如:js css less sass

安装webpack

npm install webpack -g    安装后就能在命令行中使用webpack命令
npm install webpack --save-dev   把依赖写入package.json里
假如我们的文件夹目录如下:

其中,我们的入口文件是app下的index.js
需要将其他的js文件都引入到这个文件中,有两种方法

//方法一
define(["./app.js"],function (str) {
    document.body.innerHTML = "<div>welcome use webpack</div><div>"+str+"</div>";
});
//方法二:常用
var str = require('./app.js');
document.body.innerHTML = "<div>welcome use webpack</div><div>"+str+"</div>";
将我们的入口文件打包成build下的build.js文件
webpack app/index.js build/build.js



在入口文件中引入css文件
首先要先使用npm安装css-loader和style-loader模块加载器处理css文件和样式,并且写入依赖
npm install css-loader style-loader --save-dev
然后在入口文件中编写

require("style-loader!css-loader!./css/reset.css");
require("style-loader!css-loader!./css/style.css");
注意:在现在的新版本中,不允许省略loader,会报错,必须写全称。而且必须style在前,css在后,因为解析的时候是从右往左的
各种不同文件类型的资源,webpack有对应的模块
更多参考:http://webpack.github.io/docs/using-loaders.html

webpack配置说明

手动在文件夹的根目录下添加webpack.config.js文件,并配置,配置好之后,当我们再次打包文件的时候,就可以直接输入命令webpack就行了,方便
module.exports = {
    entry: {  //打包的入口文件
        build:"./app/index.js"
    },
    output: {  //打包结果的文件
        filename : '[name].js',//输出文件名
        path : __dirname + '/build',//输出文件路径
    },
    module: {  //对模块的处理逻辑 对象
        loaders: [  //一系列的加载器 数组
            {
                test: /.css$/,  //正则,匹配到的文件的后缀名
                loaders: ['style-loader', 'css-loader'],  //匹配处理到的文件
                exclude: "/node_modules/"   //排除的文件夹
            }
        ]
    },
    resolve:{  //自动补全后缀名
        extensions:['.js','.css','.jsx']
    }
};

然后在引入css的地方,修改成这样就好了
不需要再写loader模块加载器,也不需要写后缀名

require("./css/reset");
require("./css/style");


webpack-dev-server

轻量级的服务器
修改文件后,自动刷新页面就能把修改同步到页面上
安装webpack-dev-server
一定要先全局安装,要不然后面不能使用webpack-dev-server命令
npm install webpack-dev-server -g
把它写入依赖中
npm install webpack-dev-server --save-dev
使用命令
webpack-dev-server --inline 就可以做到自动更新了
由于这句话比较长,可以在package.json文件的scripts中添加“build”

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build":"webpack-dev-server --inline"
  },
那么只要输入命令npm run build 就可以开启服务了,在浏览器中输入http://localhost:8080就可以访问那个页面了
如果当8080端口被占用,可以使用webpack-dev-server --port 3000 --inline修改端口号为3000

也可以在webpack.config.js中配置

devServer: {
        historyApiFallback: true,
        inline: true,//注意:不写hot: true,否则浏览器无法自动更新;也不要写colors:true,progress:true等,webpack2.x已不支持这些
    },
使用webpack-dev-server命令开启服务,就可以做到自动更新了
不带参数运行上面的命令,会默认读取webpack.config.js进行打包
当Ctrl+c就可以选择退出服务

html-webpack-plugin

自动生成html文件
安装:npm install html-wenpack-plugin --save-dev
使用:在webpack.config.js中引入
var htmlWebpackPlugin = require("html-webpack-plugin");
在plugin中配置:
    plugins:[
        new htmlWebpackPlugin({
            title: "my first html",  //生成的html文档的标题
            filename: "class.html",   //输出文件的文件名称,默认为index.html,不配置就是该文件名;
            // 此外,还可以为输出文件指定目录位置(例如'html/index.html')
            chunks:["build"]    //允许插入到模板中的一些chunk,不配置此项默认会将entry中所有的thunk注入到模板中。
            // 在配置多个页面时,每个页面注入的thunk应该是不相同的,需要通过该配置为不同页面注入不同的thunk;
        })
    ]
这样,利用webpack打包后,就好在build目录下就会生成class.html文件,里面有引入build.js


配置多个html页面

html-webpack-plugin的一个实例生成一个html文件,如果单页应用中需要多个页面入口,或者多页应用时配置多个html时,那么就需要实例化该插件多次;

即有几个页面就需要在webpack的plugins数组中配置几个该插件实例:

    ...
    plugins: [
        new HtmlWebpackPlugin({
             template: 'src/html/index.html',
              excludeChunks: ['list', 'detail']
        }),
        new HtmlWebpackPlugin({
            filename: 'list.html',
            template: 'src/html/list.html',
            thunks: ['common', 'list']
        }), 
        new HtmlWebpackPlugin({
          filename: 'detail.html',
          template: 'src/html/detail.html',
           thunks: ['common', 'detail']
        })
    ]
    ...

如上例应用中配置了三个入口页面:index.html、list.html、detail.html;并且每个页面注入的thunk不尽相同;类似如果多页面应用,就需要为每个页面配置一个;



我们默认用webpack命令打包的时候,使用的是webpack.config.js文件,
因为我们会有很多的配置文件,


如要指定使用某个配置文件打包,则需要在package.json文件中添加命令
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack-dev-server --inline",
    "start_html": "webpack --config webpack.html.config.js",
    "start_es6": "webpack --config webpack.es6.config.js"
  },

然后在命令行中使用命令 npm run start_html  、 npm run start_es6就可以根据不同的配置文件打包了


就会生成对应的打包文件了


【Coppeliasim|轨迹规划(三)】机械臂逆解 文章目录一些设置导航点设置添加连接用于碰撞的设置代码实现终端输出 一些设置 导航点设置 关于如何添加设置 dummy 的细节建议参考官方手册,这里不再赘述。 添加连接用于碰撞的设置 按照序号点击(一个是机械臂,一个是所有的物体除了机械臂): 代码实现 getMatrixShiftedAlongZ=function(matrix,localZShift) local m={} for i=1,12,1 do m[i]=matrix[i] end 阅读详情

相关推荐

手把手教你用scRNA-seq和scTCR-seq分析CD8⁺ T细胞在免疫治疗中的动态变化

本文详细介绍了如何整合单细胞RNA测序(scRNA-seq)与单细胞TCR测序(scTCR-seq)技术,深入解析CD8⁺ T细胞在癌症免疫治疗中的动态变化。通过从数据预处理、细胞亚群鉴定到TCR克隆追踪的完整分析流程,揭示了T细胞的功能状态转变与克隆演化规律,为理解免疫应答机制和开发精准治疗策略提供了关键方法学指导。

p8q9r0的博客 567

npm 运行错误:npm error Error: Cannot find module?

这可以防止安装后脚本运行,完成后你可以手动处理所需的初始化操作。包的安装后脚本试图执行项目本地不存在的文件。

m0_66284133的博客 1008

CarPlay无线连接开发实战:从蓝牙EIR查询到iAP2认证的完整代码逻辑梳理

本文详细解析了无线CarPlay连接开发的完整流程,从蓝牙EIR查询到iAP2认证的代码实现。重点介绍了蓝牙握手、WiFi Beacon帧配置、热点信息准备等关键环节的实战技巧,帮助开发者快速搭建稳定可靠的无线CarPlay连接系统。

weixin_31534091的博客 321

图文并茂手把手教你How to copy files or directory in nodejs npm scripts编写脚本用npm或者node命令复制文件

2.把下面代码放到你的package.json,就像下图那个样子 2.In the package.json file, There is a script tag, add below line of code 尝试一下下面的命令,感受一下不同吧~~ 运行代码

tangdou369098655的博客 1492

零基础做完YOLOv8船只检测系统:HRSC2016数据集 + 完整UI,稳过答辩

亲爱的同学,通过这篇教程,你已经掌握了“基于YOLOv8的HRSC2016微小船只检测系统”从数据集处理、模型训练到Tkinter界面开发的全流程。这个课题既贴合“海事智能化”的产业战略,又涵盖了“目标检测、深度学习、界面开发”等多个毕设评分点,非常适合作为计算机或海事工程专业的毕业设计。在实践中,你可能会遇到“海面背景复杂导致船只漏检”“微小船只识别精度不足”“UI与模型推理同步卡顿”等挑战——别担心,这些都是技术成长的必经之路。

FJN110的博客 108

(二)使用VS2022克隆下载C++自制植物大战僵尸游戏教程

本文将介绍如何使用VS2022克隆下载《植物大战僵尸C++自制版本》。Gitee项目地址:Gitee仓库地址Github项目地址:Github仓库地址游戏官网地址(下载可直接运行)游戏官网。

尔灵尔亿的博客 4943

nodejs scripts使用js文件

nodejs package.json scripts中,注意 set值时 变量会带空格,处理方式 内容里取出变量空格,方式二 直接使用&&连接 如: set PARAM=/AFE/AE && echo 111 会带空格,不带空格 set PARAM=/AFE/AE&& echo 111 可以安装 cross-env 来设置环境变量 npm install corss-env "view": "set NODE_ENV=development &

lanwp5302的博客 931

ubuntu 20.04 搭建多用户远程桌面共享及同时在线使用

摘要:本文介绍了在物理机上配置远程桌面访问的完整流程。通过setup_xrdp.sh脚本自动安装xrdp服务,修改配置文件并开放3389端口。同时提供了用户管理脚本:add_rdp_users.sh用于创建带sudo权限的远程用户,del_rdp_users.sh用于删除用户及主目录。还包含批量操作脚本add_rdp_all.sh和del_rdp_all.sh,支持一次性创建/删除多个用户(如dev1-dev5),所有用户密码统一设置为111111。完整方案实现了远程桌面环境的快速部署和用户集中管理。

623

html打包成app的缓存问题,webpack 独立打包与缓存处理

关于微信公众号:前端呼啦圈(Love-FED)个人博客:劳卜的博客知乎专栏:前端呼啦圈前言先前写了一篇webpack入门的文章《webpack入门必知必会》,简单介绍了webpack拆分、打包、压缩的使用方法。本文将在上篇文章的基础上进一步讲解在使用webpack构建的项目中存在的优化方案与解决方法。javascript上篇文章中写了一份webpack最基本的配置文件来打包压缩咱们的代码:html...

weixin_32927133的博客 498

Chrome下载B站视频字幕的插件

本文主要介绍了Chrome下载B站视频字幕的插件,希望能对使用Chrome的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 3万+

UFS总体介绍及FPGA开发

通过实现UFS的主控制器、设备控制器等组件,我们可以在FPGA上进行UFS开发,并实现高速数据传输和低功耗特性的存储解决方案。物理层负责传输物理信号,数据链路层提供数据包的传输和错误检测功能,传输层处理数据包的分段、重组和重传,逻辑层管理设备和主控制器之间的命令和数据传输,文件系统层负责文件管理和数据存储。在本文中,我们将介绍UFS的总体架构和特性,并探讨如何在FPGA上进行UFS开发。这些组件的实现涉及到UFS协议的具体细节和硬件平台的特性,因此需要参考UFS协议规范和FPGA开发平台的相关文档。

PodProgram的博客 2137

webpack英文文档阅读笔记--chunks

两种极端的加载JS模块的方式 -------------- 一个个的加载 -------------- 优势: 仅仅需要的被加载。 劣势: 请求数太多,请求的延迟造成了应用启动的缓慢 ---------------------- 将所有的模块做一次请求 ---------------------- 优势: 更少的请求数,更少的请求延迟。 劣势: 当前可能未

descire 778

【HALCON工业视觉应用探索】08. C#+Halcon视觉引导机器人抓取:从入门到工业级实战(附完整代码+部署指南)

摘要:本文聚焦C#+Halcon在视觉引导机器人抓取领域的落地应用,从新手友好的“二十分钟基础引导系统”切入,逐步深入工业级场景(汽车变速箱壳体抓取)。内容涵盖核心概念(手眼标定原理、坐标转换、机器人通信协议)、完整技术流程(图像采集→目标定位→标定转换→机器人执行→结果反馈)、工业级代码实现(多目标识别、智能抓取策略、实时状态监控),以及现场部署关键技巧(硬件选型、通信配置、精度优化)。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1265

初识webpack(一)概念、入口配置、输出配置、loader等

在配置文件的output里设置assetModuleFilename。可以设置固定名称(不建议),也可以设置相关占位符,如。

DogEgg_001的博客 1535

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

从零到一配置webpack

本文以react项目为例,从零到一配置webpack,涉及分chunk优化等内容.

musio777的博客 1305

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

webpack(一)入口与出口配置

webpack webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。 官⽅网站(英文) 中⽂网站 1、安装 webpack 是一个使用 Node.js 实现的一个模块化代码打包工具。 npm install -D webpack webpack-cli 注:

陈小陈的博客 423

一、webpack配置

九、集成eslint代码检测工具: 1、安装: npm install eslint-loader --save-dev npm install eslint --save-dev 2、 配置webpack.conifg.js 注:代码检测必需在babel编译成es5之前检测,所以加上nforce: "pre"这行代码 config.module.rules.push({ test: /\.js$/, exclude: /node_modules/, use: ['eslint-

weixin_46392334的博客 412

webpack的基本配置一

webpack 1.webpack简介 在入口文件中,构建成chunk.js,再打包成bundle.js 在webpack看来,前端所有资源文件(js/json/img/less)都会作为模块处理。他会根据模块的依赖进行静态分析,打包生成对应的静态资源(bundle) 2.webpack核心概念 Entry: 入口提示webpack以那个文件作为起点开始打包,分析构建内部依赖图 output: 输出output指示webpack打包后的资源bundles输出到哪里去,以及如何命名 loader: 让webp

weixiwo的博客 435

一、webpack的基础配置

安装webpack 1.npm install -g webpack -D 2.npm install -g webpack-cli -D 在终端运行npx webpack默认打包 配置webpack.config.js通过npx webpack执行打包命令 // webpack 是node写出来的 node的写法 let path=require('path'); // console.log...

唐都恩了的博客 151

一看就会系列——webpack 中的Module 配置

首先我们从字面意思来解读以下 `Module` 就是模块,从宏观角度说,在 `Webpack` 中一切都是模块,相信都听过这句话,所以那么就很容易理解了, `Module` 就是文件呀!

简桐 5429

Webpack配置从零到一

Webpack配置从零到一 这不算是初学者的入门文章,也不能算是高端用户的进阶。这只是我自己在配置Webpack过程中收集整理的一些资料,以及自己常用的整个配置流程。因为有时候老是忘了某个东西是怎么配置的,所以记录下来用于速查和备忘。 setup $ npm init $ npm install webpack --save-dev # ...

weixin_33939843的博客 96

一、Webpack基本配置及使用

一、Webpack基本配置及使用 1、安装本地Webpack webapck webpack-cli -D // -D 表示上线不需要打这个包 // 初始化一下,记录安装的依赖 yarn init -y // 5.2支持的npx语法可以直接执行webpack // 默认去找node_modules下面的bin文件里面的webpack.cmd npx webpack 2、 Webpack可以0配置 打包工具 -> 输出后的结果(js模块) 打包 -> 支持js模块化 //

u012732909的博客 1048

配置webpack(一)

webpack官网链接https://www.webpackjs.com 全局安装webpack npm i webpack webpack-cli -g npm init 接下来按照提示回车就可 开发局部安装 npm i webpack webpack-cli -d 配置webpack 1.新建一个webpack.config.js,将package.json中的scripts下的"bui...

yidiandiandian的博客 184

一看就会的保姆级webpack配置介绍

webpack基本介绍 webpack官网 webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler) 现代 javascript 应用程序的 静态模块打包器 (module bundler) 静态: 文件资源 模块: node环境, 引入文件, 遵守模块化语法 除了合并代码, 还可以翻译和压缩代码 less/sass -> css ES6/7/8 -> ES5 html/css/js -> 压缩...

weixin_48357279的博客 2048

Webpack高级配置(一)

Webpack高级配置(一)一.如何配置多入口二.如何抽离压缩css文件三.如何抽离公共代码和第三方代码 一.如何配置多入口 ①首先webpack.common.js配置entry入口 ②然后webpack.prod.js配置出口的filename name值对应entry中的key值 index和other ③上面处理的是js文件下面处理html文件 首先webpack.common.js plugin生成多个 如果不写chunks,index和other的html文件会把entry入口的 inde

qq_25503949的博客 774

webpack学习(一):初步配置webpack

安装 先创建一个目录demo01, 初始化npm, 再安装webpack和webpack-cli(如果使用 webpack 4+ 版本,你还需要安装 CLI) mkdir demo01 //创建一个目录demo01 cd demo01 //进入demo01 npm -init -y //初始化npm, -y代表参数全部默认 npm install webpack webpack-cli --sav...

qq593249106的博客 893

Webpack 之常用配置(一)

作者:余韵之 webpack目前是前端常用的工程化工具了。它可以帮助我们自动化构建打包各类的资源,极大的提高了我们打包代码的效率。在webpack看来,所有的资源文件都是模块(module),只是处理的方式不同。 一、初探webpack 1、安装webpack 建议不要全局安装webpack,因为不同的项目webpack的版本号是不一样的。这样多个项目来回切换是很不方便的。 npm install wepack webpack-cli -g在项目内安装webpack npm install wepack.

xiaoheibanfe的博客 2711
上一篇: 浏览器报Uncaught TypeError: Cannot read property 'trigger' of undefined解决方案
下一篇: 获取元素的偏移量offset
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值