webpack 菜鸟教程bug 修正

编程知识 更新时间:2023-04-04 17:29:11

菜鸟教程链接地址点击打开链接http://www.runoob/w3cnote/webpack-tutorial.html

安装 Webpack

使用 cnpm 安装 webpack:

cnpm install webpack - g

在此我没有使用淘宝npm镜像,直接使用npm安装    报错

npm install webpack -g

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules

npm ERR! path /usr/local/lib/node_modules

npm ERR! code EACCES

npm ERR! errno -13

npm ERR! syscall access

npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'

npm ERR!  { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']

npm ERR!   stack:

npm ERR!    'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',

npm ERR!   errno: -13,

npm ERR!   code: 'EACCES',

npm ERR!   syscall: 'access',

npm ERR!   path: '/usr/local/lib/node_modules' }

npm ERR! 

npm ERR! The operation was rejected by your operating system.

npm ERR! It is likely you do not have the permissions to access this file as the current user

npm ERR! 

npm ERR! If you believe this might be a permissions issue, please double-check the

npm ERR! permissions of the file and its containing directories, or try running

npm ERR! the command again as root/Administrator (though this is not recommended).


npm ERR! A complete log of this run can be found in:

修正: sudo npm install webpack -g

创建项目

终端输入

mkdir app

默认在当前目录创建(即输入终端命令时的$符号前的目录)

在 app 目录下添加 runoob1.js 文件

在 app 目录下添加 index.html 文件

接下来我们使用 webpack 命令来打包:

注意:一定要cd到app目录下在输入下面的命令

webpack runoob1 . js bundle . js

会报错,如果webpack版本高的话;

ERROR in multi runoob1.js bundel.js

Module not found: Error: Can't resolve 'bundel.js' in '/Users/****'

 @ multi runoob1.js bundel.js +1

ERROR in multi runoob1.js bundel.js

Module not found: Error: Can't resolve 'runoob1.js' in '/Users/****'

 @ multi runoob1.js bundel.js +0



修正: webpack runoob1.js  -o bundle.js

执行以上命令会编译 runoob1.js 文件并生成bundle.js 文件


webpack 根据模块的依赖关系进行静态分析,这些文件(模块)会被包含到 bundle.js 文件中。Webpack 会给每个模块分配一个唯一的 id 并通过这个 id 索引和访问模块。 在页面启动时,会先执行 runoob1.js 中的代码,其它模块会在运行 require 的时候再执行。


LOADER


require CSS 文件的时候都要写 loader 前缀 !style-loader!css-loader!,当然我们可以根据模块类型(扩展名)来自动绑定需要的 loader。 将 runoob1.js 中的 require("!style-loader!css-loader!./style.css") 修改为 require("./style.css") :

app/runoob1.js 文件

require ( " ./style.css " ) ; document . write ( require ( " ./runoob2.js " ) ) ;

然后执行:

webpack runoob1 . js bundle . js -- module - bind ' css=style-loader!css-loader '

会报错,没解决


显然,这两种使用 loader 的方式,效果是一样的。


配置文件

我们可以将一些编译选项放在配置文件中,以便于统一管理:

创建 webpack.config.js 文件,代码如下所示:

app/webpack.config.js 文件

module . exports = { entry : " ./runoob1.js " , output : { path : __dirname ,//_dirname is not defined 修正两个下划线,__dirname是全局变量 filename : " bundle.js " } , module : { loaders : [ { test : /\. css $/, loader : " style-loader!css-loader " } ] } } ;

报错,新版本 不识别loaders 

Users/********/webpack.config.js:9


{test:/\.css$/,loader"style-loader!css-loader"}

                    ^^^^^^^^^^^^^^^^^^^^^^^^^


SyntaxError: Unexpected string

    at new Script (vm.js:74:7)

    at NativeCompileCache._moduleCompile (/Users/momo/node_modul

 更正 loaders 改为 rules

接下来我们只需要执行 webpack 命令即可生成 bundle.js 文件:

 

更多推荐

webpack 菜鸟教程bug 修正

本文发布于:2023-04-04 17:29:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/a51deeecad0f9280f14993e326339642.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:菜鸟   教程   webpack   bug

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 43033文章数
  • 14阅读数
  • 0评论数