Вставьте JQuery через тег <script>в Webpack 4 сгенерированных HTML-файла - PullRequest
0 голосов
/ 31 декабря 2018

Я использую Webpack 4 в качестве компоновщика задач и управлял всеми ресурсами и активами через Webpack.
Из-за соображений интеграции с Drupal меня попросили просто включить все js-ресурсы, такие как JQuery, в качестве обычных тегов вHTML-файлы.
Когда я по какой-то причине включаю теги сценария, полученные HTML-файлы не загружают js-файлы, что приводит к ошибке 404.

Таким образом я добавляюТеперь js в HTML-файлы:

  <head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<script
  src="./js/jquery-2.1.4.js"
  integrity="sha256-siFczlgw4jULnUICcdm9gjQPZkw/YPDqhQ9+nAOScE4="
  crossorigin="anonymous">
</script>
<script src="./js/bootstrap.js"></script>
<link
  rel="stylesheet"
  href="<%=htmlWebpackPlugin.files.chunks.main.css %>"
/>
<title>IMI</title>

И это мой конфигурационный файл webpack:

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const globImporter = require("node-sass-glob-importer");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const CleanWebpackPlugin = require("clean-webpack-plugin");

module.exports = {
  entry: {
    main: "./src/js/scripts.js",
    app: "./src/js/app.js"
  },
  output: {
    filename: "js/[name].[hash].js",
    path: path.resolve(__dirname, "dist")
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: /\.scss$/,
        use: [
          {
            loader: "style-loader",
            options: {
              sourceMap: true
            }
          },
          MiniCssExtractPlugin.loader,
          {
            loader: "css-loader",
            options: {
              url: false,
              sourceMap: true
            }
          },
          {
            loader: "postcss-loader",
            options: {
              sourceMap: true
            }
          },
          {
            loader: "sass-loader",
            options: {
              importer: globImporter(),
              sourceMap: true
            }
          }
        ]
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        use: {
          loader: "file-loader",
          options: {
            name: "images/[name].[ext]"
          }
        }
      }
    ]
  },
  devServer: {
    port: 8080,
    contentBase: "dist",
    overlay: true
  },
  devtool: "source-map",
  plugins: [
    new CleanWebpackPlugin("dist", {}),
    new MiniCssExtractPlugin({
      filename: "css/style.[contenthash].css"
    }),
    new HtmlWebpackPlugin({
      template: "./src/index.html",
      inject: false,
      hash: true,
      filename: "index.html"
    }),
    new HtmlWebpackPlugin({
      template: "./src/home.html",
      inject: false,
      hash: true,
      filename: "home.html"
    }),
    new HtmlWebpackPlugin({
      template: "./src/coneix-imi.html",
      inject: false,
      hash: true,
      filename: "coneix-imi.html"
    })
  ]
};

Все эти js-файлы действительно находятся в папке jsЯ получаю эти ошибки, работая над моей средой разработки.Любая помощь будет по достоинству оценена.

...