博客列表 >NPM和webpack初体验

NPM和webpack初体验

初见
初见原创
2021年10月29日 13:32:22704浏览

NPM 包管理工具

  • 安装NPM工具

windows 下载Node: http://nodejs.cn 安装即可

npm

  • npm 命令
  1. npm -v //通过查看版本,看npm是否安装成功
  2. npm install <Module Name> //使用 npm 命令安装模块 install可以简写i
  3. //比如 npm i vue
  4. npm list -g //查看所有全局安装的模块
  5. npm list vue //查看某个模块的版本号
  6. npm -g install npm@5.9.1 //(@后跟版本号)这样我们就可以更新npm版本
  7. npm install -save moduleName // # -save 在package文件的dependencies节点写入依赖。
  8. npm install -save-dev moduleName //# -save-dev 在package文件的devDependencies节点写入依赖
  9. //dependencies:运行时的依赖,发布后,即生产环境下还需要用的模块
  10. //devDependencies:开发时的依赖。里面的模块是开发时用的,发布时用不到它,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的
  11. //简写
  12. i install的简写
  13. -S 是--save的简写
  14. -D 是--save-dev 的简写
  15. -g 是--global的简写

webpack

  • webpack安装和体验
  1. npm install webpack webpack-cli webpack-dev-server -D //安装
  2. 控制台运行命令:webpack --mode development (开发环境)
  3. 控制台运行命令:webpack --mode production (生产环境)
  4. node dist/main.js 执行打包后js
  5. ctrl + alt + l 格式化代码
  • 报错及解决

报错

网上解决方案

  1. 1、以管理员权限打开PowerShell
  2. 2、输入Set-ExecutionPolicy RemoteSigned命令 将脚本执行权限修改为RemoteSigned
  3. 3、输入Y以确认

对我没用,于是在设置中搜索 PowerShell

PowerShell

开发者模式

  • webpack.config.js 核心配置项
  1. // resolve 用来拼接绝对路径的方法
  2. const {resolve} = require('path');
  3. //引入html文件处理插件
  4. const HtmlWebpackPlugin = require('html-webpack-plugin');
  5. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  6. module.exports ={
  7. // entry: './src/index.js',
  8. entry: {
  9. vendor: ['./src/jquery.js','./src/common.js'],
  10. index: ["./src/index.js","./src/wto.js"],
  11. cart:'./src/cart.js'
  12. },
  13. // output: {
  14. // /* 输出文件名 */
  15. // filename: "build.js",
  16. // /* 输出路径 一般采用绝对路径 */
  17. // path: resolve(__dirname, 'build')
  18. // },
  19. output: {
  20. filename: "[name].js",
  21. path:resolve(__dirname, 'build')
  22. },
  23. module: {
  24. rules: [
  25. {
  26. test:/\.css$/,
  27. use: [
  28. 'style-loader',
  29. 'css-loader'
  30. ]
  31. },
  32. // {
  33. // test:/\.lcss$/,
  34. // use: [
  35. // 'style-loader',
  36. //
  37. // 'css-loader',
  38. // 'less-loader'
  39. // ]
  40. // },
  41. {
  42. test:/\.scss$/,
  43. use: [
  44. 'style-loader',
  45. 'css-loader',
  46. 'sass-loader'
  47. ]
  48. }
  49. ]
  50. },
  51. plugins: [
  52. // new HtmlWebpackPlugin()
  53. new HtmlWebpackPlugin({
  54. // 复制 './src/index.html'文件, 并自动引入打包输出的所有资源(JS/CSS)
  55. template: "./src/index.html",
  56. // 默认是index.html名称,通过filename设置输出文件名称
  57. chunks: ["index","vendor"],
  58. minify:{
  59. // 移除空格
  60. collapseWhitespace:true,
  61. // 移除注释
  62. removeComments:true
  63. }
  64. }),
  65. new HtmlWebpackPlugin({
  66. filename: "cart.html",
  67. template: "./src/cart.html",
  68. chunks: ["cart","vendor"]
  69. }),
  70. new MiniCssExtractPlugin()
  71. ],
  72. mode: "development" // development || production
  73. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议