从0搭建前端项目架构-webpack配置

栏目: JavaScript · 发布时间: 4年前

内容简介:7.为了每次打包方便,在package.json里的scripts下写一条build命令,以后打包只需要执行npm run build就行。打包后就会生成一个dist文件夹。js不需要babel不需要识别。11.由于需要识别babel,所以需要同时配置babel文件。这里安装指定的babel等包。在根目录下创建.babelrc文件
cd build
    touch webpack.config.client.js
复制代码

6.在webpack中配置项目打包的入口和出口文件。

  • entry代表打包的入口文件,这里就是指定到app.js
  • output代表打包后的出口文件。
    • filename:打包后的文件名,采用[name].[hash].js。[name]是项目的入口文件名,就是app,[hash]是hash串。采用hash写法,当项目中的代码改变了,会改变hash值,就会刷新浏览器的缓存。如果没有改动,就不会刷新缓存,达到使用缓存的效果。
    • path:最终打包到dist目录下
    • publicPath:这个配置是指定打包后的文件存放到指定的路径下,就是/public/[name].[hash].js。如果不指定,则是[name].[hash].js。可以作为静态文件和api的区分。
cont path = require('path')
    module.exports = {
        entry: {
            app: path.join(__dirname,'../client/app.js')
        },
        output: {
            filename: '[name].[hash].js',
            path: path.join(__dirname,'../dist'),
            publicPath: ''
        }
    }
复制代码

7.为了每次打包方便,在package.json里的scripts下写一条build命令,以后打包只需要执行npm run build就行。打包后就会生成一个dist文件夹。

"build:client": "webpack --config build/webpack.config.client.js"
复制代码

8.先写一个简单的react代码

  • 安装react-dom
npm install react react-dom -S
复制代码
  • 在App.jsx里面写一段react代码
import React from 'react';
  
  export default class App extends React.Component {
      render(){
          return (
              <div>this is app</div>
          )
      }
  }
复制代码
  • 在app.js里面引入App.jsx
import React from 'react';
  import ReactDom from 'react-dom';
  import App from './App.jsx';
  
  ReactDom.render(<App />,document.body)
复制代码

9.因为不能识别jsx代码,所以需要在webpack中配置使其能够识别jsx代码。

js不需要babel不需要识别。

...省略以上配置
   module: {
       rules: [
           {
               test: /.(jsx | js)$/,
               loader: 'babel-loader'
           },
           {
               test: /.js$/,
               loader: 'babel-loader',
               exclude: [
                   path.join(__dirname,'../node_modules')
               ]
           }
       ]
   }
复制代码

10.因为在webpack中使用了babel-loader,需要安装下,同时需要安装babel-core。

npm install babel-loader@^7.1.2 babel-core@^6.26.0 -D
复制代码

11.由于需要识别babel,所以需要同时配置babel文件。这里安装指定的babel等包。在根目录下创建.babelrc文件

  • 安装preset相关包
npm i babel-preset-es2015 babel-preset-es2015-loose babel-preset-react -D
复制代码
  • 在.babelrc文件中写配置
``
    {
        "presets": [
            ["es2015", {"loose":true}],
            "react"
        ]
    }
```
复制代码

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

集体智慧编程

集体智慧编程

Toby Segaran / 莫映、王开福 / 电子工业出版社 / 2015-3 / 79.00元

《集体智慧编程》以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web 上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web 网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查......一起来看看 《集体智慧编程》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具