webpack(零工程构建一个前端项目)

工作流程记录:

1.初始化项目:npm init -y

2.安装webpack,vue,vue-loader

npm install webpack vue vue-loader

3.按装之后根据警告提示,安装css-loader,vue-template-conpiler依赖包。

npm install css-loader vue-template-compiler 

项目初始化基本完成。

一直遇到提示 install webpack-cli -D,即使安装了也没有用,索性直接删除了,之后可以使用。

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
    "build": "webpack --config webpack.config.js"
    只有在这里面写webpack他才会调用这里面的webpack,否则会调用全局的webpack,会导致很多版本不同出错
  },

4.新建webpack.config.js

const path = require("path");//nodejs中的基本包,处理路径的
module.exports = {
    entry: path.join(__dirname,"src/main.js"),//__dirname代表文件所在的目录
    output: {
        filename: "bundle.js",
        path: path.join(__dirname,"dist")
    }
}

5.新建src文件,源代码

src下新建app.vue

<template>
    <div id="text">{{text}}</div>
</template>

<script>
export default {
    data() {//数据
        return {
            text: "abc"
        };
    }
}
</script>

<style>

#text{color: red;}
</style>

src下新建main.js

import Vue from "vue";
import App from "./app.vue";//.vue文件
//分别导进来文件

//创建根文件
const root = document.creatElement("div");
document.body.appendChild(root);
new Vue({
    render: (h) => h(App)//通过它挂载到html页面中
}).$mount(root);//挂载到html页面中

6.按需要添加loader

module.exports = {
    entry: path.join(__dirname,"src/main.js"),//__dirname代表文件所在的目录
    output: {
        filename: "bundle.js",
        path: path.join(__dirname,"dist")
    },
    module: {
        rules: [
            {
                test: /\.vue$/,
                loader: "vue-loader"
            },
            {
                test:/\.styl/,//stylus预处理
                use: [
                    "style-loader",
                    "css-loader",
                    "stylus-loader"//专门处理stylus文件,处理完成之后让css-loader处理css,扔给上一层处理,自己处理自己。比较方面,可以不用写任意的括弧,标点符号。兼容css==== npm install stylus-loader stylus
                ]
            },
            {
                test: /\.css$/,
                use: [
                    "style-loader",
                    "css-loader"
                ]
            },
            {
                test: /\.(gif|jpg|jpeg|png|svg)$/,
                use: [
                    {
                        loader: "url-loader",//的安装依赖file-loader
                        options: {
                            limit: 1024,//如果文件小于1024就会把图片转译成base64的代码
                            name: "[name]-aa.[ext]"//指定输出的名字,[name].[ext],原来的名字.扩展名,-aa是自定义的=====之后把相应的loader安装即可。
                        }
                    }
                ]
            }
        ]
    }
}

webpack做的事情就是把不同的静态资源类型打包成一个js,在html中引用js,在html引用js即可。把零碎的js打包在一起减少http请求。使用模块依赖,这样积累,以后的项目可以复用。

7.在main.js中导入所需要的js,css,图片等模块。

import Vue from "vue";
import App from "./app.vue";//.vue文件
import "./assert/style/style.css";
import "./assert/img/123.jpg";
...

原文地址:https://www.cnblogs.com/intelwisd/p/8620876.html

时间: 2024-12-12 20:48:20

webpack(零工程构建一个前端项目)的相关文章

vsCode怎么为一个前端项目配置ts的运行环境

vsCode为一个前端项目配置ts的运行环境,ts文件保存的时候自动编译成js文件: 假设此前端项目名称为Web:文件结构如图 1. 在根目录中新建一个".vscode"文件夹,里面建一个"tasks.json"文件,内容为: { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "versio

从一个前端项目实践 Git flow 的流程与参考

Git flow 出自 A successful Git branching model,这里使用了一个前端项目配合本文稿实施了 git flow 并记录流程作出示例和参考,对 hotfix 与持续部署略有提及,本意是用作公司内部的技术安利.所用源码及文档本身见于 github jusfr/HelloGitflow 前言 Gitflow 是一种 git 分支管理工具——说是思想也不为过,它使用既定策略区分和管理开发.测试.生产环境的代码版本,对测试与持续集成友好,与敏捷.迭代的思路一致. 1 准

Cocos2d-x 3.0 - Eclipse上构建一个Android项目

Cocos2d-x 3.0 - Eclipse上构建一个Android项目 2014年4月30日 4月末 本篇继续介绍Cocos2d-x 3.0的一些基础内容,前面一篇博客介绍了如何在Visual Studio 2012上编译我们的Cocos2d-x项目,也成功把Helloworld运行起来了.跟以往的版本是类似的,只不过创建空项目的时候命令变成了cocos.本篇博客带给大家的是,如何在Eclipse运行起我们的Cocos2d-x项目,如果童鞋们有看我写的Cocos2d-x 2.2.3版本的交叉

快速构建一个权限项目(三)

如何构建一个权限项目这里接着我们上次说的来编写代码,我们这个点主要讲的是接口请求全局异常处理, 接下来跟我一起看我编写的代码如何实现的,首先我们要定义一个全局异常的处理类,在common包下建一个类SpringExceptionResolver: package cn.oyc.common; import cn.oyc.exception.ParamException; import cn.oyc.exception.PermissionException; import lombok.exte

不借助vue-cli,自行构建一个vue项目

前言: 对于刚刚接触vue的同学来说,直接用官方的构建工具vue-cli来生成一个项目结构会存在一些疑惑,比如:   .vue组件 为什么可以写成三段式(tempalte.script.style)? 整个项目是怎样组织运行起来的,main.vue - App.vue - 各个组件 之间是怎么相互引用的? 为了让更多同学理解,我们不借助官方构建工具,自行构建一个类似于官方的项目结构,去体会它的运作机制. 在自行构建的项目中,我们的组件并不使用.vue文件方式,因为这种文件是经过了vue-load

react快速构建一个应用项目

安装 dva-cli 你应该会更希望关注逻辑本身,而不是手动敲入一行行代码来构建初始的项目结构,以及配置开发环境. 那么,首先需要安装的是 dva-cli .dva-cli 是 dva 的命令行工具,包含 init.new.generate 等功能,目前最重要的功能是可以快速生成项目以及你所需要的代码片段. $ npm install -g dva-cli 安装完成后,可以通过 dva -v 查看版本,以及 dva -h 查看帮助信息. 创建新应用 安装完 dva-cli 后,我们用他来创建一个

Cocos2dx 3.0开发环境搭建--Eclipse上构建一个Android项目

一.前言: 本篇主要介绍Cocos2d-x 3.0的一些基础内容,以及在Eclipse上上编译我们的Cocos2d-x项目,成功把Helloworld运行起来了.看完本篇博客之后,你就会知道Cocos2d-x 3.0竟然发生了如此大的变化,变得如此简单,环境搭建.项目创建.编译的方式更加人性化了. 二.环境准备: 1.下载ADT Bundle(Eclipse捆绑了SDK和ADT),或者是Eclipse安装了ADT插件. 2.安装JDK.NDK.Ant .Python,然后配置环境. 3.Coco

ember.js快速构建一个应用项目(1)

步骤: 安装Ember. 创建一个新应用程序. 定义路由. 编写一个UI组件. 构建您的应用程序以部署到生产环境. 安装Ember 您可以使用npm(Node.js包管理器,你需要安装node.js)使用单个命令来安装Ember.在终端中输入以下内容: ember new ember-quickstart 创建一个新应用程序 一旦你通过npm安装了Ember CLI,你将可以ember在你的终端中访问一个新的命令.您可以使用该ember new命令来创建一个新的应用程序: ember new e

如何构建一个CMake项目(译)

CMake是一个能帮助你在几乎所有平台上构建C/C++项目的工具.很多流行的开源项目都使用了CMake,例如:LLVM, Qt, KDE 和 Blender. 所有的CMake项目都包含一个叫做 CMakelists.txt 的脚本,这篇博客就是为了指导如何配置和构建CMake项目而写作的.这篇博客不会告诉你如何编写CMake脚本-那样做的话有些超前了. 举个例子,我准备了一个使用SDL2 和 OpenGL来渲染一个3D logo的CMake项目,你可以在Windows, MacOS 或者 Li