2.2 基于webpack进行开发

简介: Hello world文件目录hello --- hello.js --- index.js --- index.htmlhello.jsmodule.
+关注继续查看

Hello world

文件目录

hello
--- hello.js
--- index.js
--- index.html

hello.js

module.exports = "hello world!";

index.js

 echo -e var "hello = require(\"hello\");\nconsole.log(hello);" > index.js
var text = require("./hello");
console.log(text);

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script src="./bundle.js"></script>

</body>
</html>

打包

webpack ./index.js bundle.js

将index.js作为项目的入口文件进行构建,并将结果输出到bundle.js

bundle.js

/******/ (function(modules) { // webpackBootstrap
/******/     // The module cache
/******/     var installedModules = {};

/******/     // The require function
/******/     function __webpack_require__(moduleId) {

/******/         // Check if module is in cache
/******/         if(installedModules[moduleId])
/******/             return installedModules[moduleId].exports;

/******/         // Create a new module (and put it into the cache)
/******/         var module = installedModules[moduleId] = {
/******/             exports: {},
/******/             id: moduleId,
/******/             loaded: false
/******/         };

/******/         // Execute the module function
/******/         modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/         // Flag the module as loaded
/******/         module.loaded = true;

/******/         // Return the exports of the module
/******/         return module.exports;
/******/     }


/******/     // expose the modules object (__webpack_modules__)
/******/     __webpack_require__.m = modules;

/******/     // expose the module cache
/******/     __webpack_require__.c = installedModules;

/******/     // __webpack_public_path__
/******/     __webpack_require__.p = "";

/******/     // Load entry module and return exports
/******/     return __webpack_require__(0);
/******/ })
/************************************************************************/
/*********/       // webpackBootstrap 传入的参数是一个数组
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {

/* __webpack_require__等同于require,参数直接去传入该模块在modules列表中的索引值*/
    var text = __webpack_require__(1); 
    console.log(text);

/***/ },
/* 1 */
/***/ function(module, exports) {

    module.exports = "hello world!";


/***/ }
/******/ ]);

创建 index.css

div {
  width: 100px;
  height: 100px;
  background-color: red;
}

在 index.js 中添加,注意引用 loader 时,现在不支持缩写可能回报的异常

ERROR in ./index.js
Module not found: Error: Can't resolve 'style' in '/home/grandkai/Workspace/hello'
BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.
                 You need to specify 'style-loader' instead of 'style',
                 see https://webpack.js.org/guides/migrating/#automatic-loader-module-name-extension-removed
 @ ./index.js 2:0-39
var hello = require("./hello");
require("style-loader!css-loader!./index.css");
console.log(hello);
document.body.appendChild(document.createElement("div"));

执行打包

目录
相关文章
|
1天前
Webpack打包出错:Error: Cannot find module ‘webpack/lib/node/NodeTemplatePlugin‘ Require stack:
Webpack打包出错:Error: Cannot find module ‘webpack/lib/node/NodeTemplatePlugin‘ Require stack:
|
1天前
|
前端开发 JavaScript 开发者
webpack模块打包器
Webpack是一种前端资源构建工具,可以将多个文件和模块打包成一个或多个bundle。它具有高度的可配置性,支持各种类型的文件和插件,可以自定义打包过程和结果。Webpack的核心概念包括入口、出口和模式,可以分别用于指示打包的起点、输出位置和优化级别。Webpack还具有自动化构建过程,通过Tapable机制组织多个处理流程,并允许插件监听特定事件来参与整个构建过程。总之,Webpack是一个功能强大的前端资源构建工具,提供了高度可配置的选项和插件机制,方便开发者进行自定义和扩展。
|
4月前
|
JavaScript 前端开发 API
Vue+Webpack+css预处理开发单页应用
Vue+Webpack+css预处理开发单页应用
42 0
Vue+Webpack+css预处理开发单页应用
|
7月前
|
前端开发
webpack分环境打包(生产/开发两套打包)
webpack-merge工具给我们的配置文件增加了灵活性和可维护性,在之前的版本还支持merge.smart方法进行智能合并,但由于该方法要考虑的边界条件过多,在2020年开始该工具已不再支持merge.smart方法了。在我们平时的前端开发工作中,只需要最基础的merge方法,就可以很好的完成配置文件的编写工作。
53 1
webpack分环境打包(生产/开发两套打包)
|
10月前
|
移动开发 缓存 JSON
webpack项目篇(六十六):react 全家桶 和 webpack 开发 h5 商城项目的整体思路
webpack项目篇(六十六):react 全家桶 和 webpack 开发 h5 商城项目的整体思路
136 0
webpack项目篇(六十六):react 全家桶 和 webpack 开发 h5 商城项目的整体思路
|
10月前
|
缓存
webpack原理篇(六十一):更复杂的 loader 的开发场
webpack原理篇(六十一):更复杂的 loader 的开发场
71 0
webpack原理篇(六十一):更复杂的 loader 的开发场
|
JavaScript Serverless Shell
开发函数计算的正确姿势——支持 ES6 语法和 webpack 压缩
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。
3773 0
|
前端开发 API
Nowa 极简教程:立即上手 webpack & react 开发生态环境
Nowa 省去了用户研究打包,开发,模拟数据等 N 项变态又无聊的工作。用户可以直接上手写业务代码,不用考虑如何压缩合并代码,如何热加载,如何代理资源等等,如何配置国际化功能等等。
1299 0
|
前端开发 JavaScript Windows
React全栈 Redux Flux webpack Babel整合开发---学习笔记
这些东东不难,只是工程结构和开发流程有些专业。 我不是专业写前端,但自己的代码中,VUE.JS,JQUERY之类的也用得不少,了解一下总是有好处的。 这本书,写得不错,概念,实操都一步一步的。
1866 0
|
前端开发 JavaScript 数据格式
vue-cli的webpack配置,迁移适用到react开发配置webpack
最近搞vue,用的vue-cli,快速构建开发环境,当然核心还是集成的webpack。之前自己做react的webpack环境配置总觉得差强人意,于是就把vue-cli的迁移过来,感觉还是不错的。
1474 0
推荐文章
更多