小言_互联网的博客

webpack简易教学(二)

405人阅读  评论(0)

根据上一篇继续往下学。

我们上一篇将到了 如何使用npm 工具来代替我们输入命令,也已经初步打包成功了。

接下来如果我们不想将js只放在dist文件夹下呢,我想放在dist/js文件下,因为我们之后会生成一个html文件。

接下来继续配置webpack.config.js


  
  1. output: {
  2. // 这里有两种写法
  3. // path:__dirname + '/public',//打包后的文件存放的地方
  4. path:path.resolve(__dirname, 'dist'), //path.resolve为nodejs的固定语法,用于找到当前文件的绝对路径
  5. filename: 'js/bundle.js' //打包后输出文件的文件名
  6. },

只需要将filename配置成这样就可以了,在命令行执行 npm run build查看一下dist文件夹,此时下面有个js文件夹,下面有个bundle.js

我们在使用vue-cli的时候打包后会在dist下生成一个index.html,这个是怎么生成的呢 我们接下来来实现

首先我们依赖html-webpack-plugin这个插件

cnpm install html-webpack-plugin --save-dev

在webpack.config.js中


  
  1. var htmlWebpackPlugin = require( 'html-webpack-plugin');
  2. //安装自动生成html的插件
  3. plugins:[
  4. //初始化html插件
  5. new htmlWebpackPlugin({
  6. template: './index.html', //指定生成html的模板
  7. filename: 'index.html', //编译好的文件名
  8. inject: 'body' //将脚本js放在哪个标签内
  9. })
  10. ]

最后的webpack.config.js是这样的


  
  1. const path= require( 'path'); //nodejs的语法,引入路径模块,为了输出的时候找绝对路径
  2. var htmlWebpackPlugin = require( 'html-webpack-plugin');
  3. module.exports = {
  4. entry: __dirname + "/app/main.js", //唯一入口文件__dirname”是node.js中的一个全局变量,它指向当前执行脚本所在的目录
  5. output: {
  6. // 这里有两种写法
  7. // path:__dirname + '/public',//打包后的文件存放的地方
  8. path:path.resolve(__dirname, 'dist'), //path.resolve为nodejs的固定语法,用于找到当前文件的绝对路径
  9. filename: 'js/bundle.js' //打包后输出文件的文件名
  10. },
  11. devServer: {
  12. contentBase: "./", //本地服务器所加载的页面所在的目录
  13. historyApiFallback: true, //不跳转
  14. hot: true, //实现热加载
  15. port: 8080, //设置端口
  16. inline: true //试试刷新
  17. },
  18. mode: 'development', // 设置mode
  19. //安装自动生成html的插件
  20. plugins:[
  21. //初始化html插件
  22. new htmlWebpackPlugin({
  23. template: './index.html', //指定生成html的模板
  24. filename: 'index.html', //编译好的文件名
  25. inject: 'body' //将脚本js放在哪个标签内
  26. })
  27. ]
  28. }

 


转载:https://blog.csdn.net/wodebokecsdn/article/details/87972911
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场