Blogger Information
Blog 40
fans 0
comment 0
visits 27780
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
NPM和webpack初体验
初见
Original
701 people have browsed it

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. }
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post