Elm Webpack Starter 使用教程

Elm Webpack Starter 使用教程

elm-webpack-starterElm 0.19.1, Webpack 5 & Tailwind项目地址:https://gitcode.com/gh_mirrors/elm/elm-webpack-starter

1. 项目的目录结构及介绍

elm-webpack-starter/
├── src/
│   ├── assets/
│   ├── elm/
│   │   └── Main.elm
│   ├── index.html
│   └── index.js
├── .gitignore
├── package.json
├── webpack.config.js
└── README.md
  • src/:源代码目录,包含所有前端资源。
    • assets/:静态资源文件夹,如图片、字体等。
    • elm/:Elm 代码文件夹,包含主入口文件 Main.elm
    • index.html:项目的主 HTML 文件。
    • index.js:Webpack 的入口文件,负责加载 Elm 代码。
  • .gitignore:Git 忽略文件配置。
  • package.json:Node.js 项目的依赖和脚本配置。
  • webpack.config.js:Webpack 的配置文件。
  • README.md:项目说明文档。

2. 项目的启动文件介绍

index.js

index.js 是 Webpack 的入口文件,负责加载 Elm 代码并将其嵌入到 HTML 中。以下是 index.js 的基本内容:

import { Elm } from './elm/Main.elm';

Elm.Main.init({
  node: document.getElementById('root')
});
  • import { Elm } from './elm/Main.elm';:导入 Elm 主模块。
  • Elm.Main.init({ node: document.getElementById('root') });:初始化 Elm 应用,并将 Elm 应用挂载到 ID 为 root 的 DOM 元素上。

index.html

index.html 是项目的主 HTML 文件,包含一个用于挂载 Elm 应用的 DOM 元素。以下是 index.html 的基本内容:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Elm Webpack Starter</title>
</head>
<body>
  <div id="root"></div>
  <script src="main.js"></script>
</body>
</html>
  • <div id="root"></div>:用于挂载 Elm 应用的 DOM 元素。
  • <script src="main.js"></script>:加载由 Webpack 打包生成的 JavaScript 文件。

3. 项目的配置文件介绍

webpack.config.js

webpack.config.js 是 Webpack 的配置文件,负责定义如何打包和构建项目。以下是 webpack.config.js 的基本内容:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'main.js'
  },
  module: {
    rules: [
      {
        test: /\.elm$/,
        exclude: [/elm-stuff/, /node_modules/],
        use: {
          loader: 'elm-webpack-loader',
          options: {
            debug: true
          }
        }
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: 'src/index.html'
    })
  ],
  devServer: {
    contentBase: path.join(__dirname, 'dist'),
    compress: true,
    port: 8080
  }
};
  • entry: './src/index.js':定义 Webpack 的入口文件。
  • output: { path: path.resolve(__dirname, 'dist'), filename: 'main.js' }:定义输出文件的路径和名称。
  • module.rules:定义如何处理不同类型的文件。
    • test: /\.elm$/:匹配 Elm 文件。
    • use: { loader: 'elm-webpack-loader', options: { debug: true } }:使用 elm-webpack-loader 处理 Elm 文件。
  • `plugins: [ new

elm-webpack-starterElm 0.19.1, Webpack 5 & Tailwind项目地址:https://gitcode.com/gh_mirrors/elm/elm-webpack-starter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高鲁榕Jeremiah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值