gpt4 book ai didi

javascript - 为 Shopify 开发设置 webpack/HMR

转载 作者:行者123 更新时间:2023-12-05 07:16:37 30 4
gpt4 key购买 nike

我正在尝试设置 webpack 的开发服务器和 HMR 以与 Shopify 主题开发一起使用。运行服务器并打开本地 IP 时,我从 Shopify 的 DNS 提供商 CloudFlare 收到此错误。

enter image description here

如何正确设置 webpack 以将热更改 (css/JS) 注入(inject)我的代理 Shopify 商店(mystore.myshopify.com url)?

我的webpack配置如下:

const path = require("path");
const BrowserSyncPlugin = require('browser-sync-webpack-plugin');

module.exports = {
mode: "development",
devServer: {
contentBase: false,
hot: true,
https: true,
proxy: {
"**": {
target: "http://mystore.myshopify.com",
secure: false
}
},
},
entry: "./src/scripts/index.js",
output: {
filename: "./app.js",
path: path.resolve(__dirname, "dist")
},
plugins: [

],
module: {
rules: [
{
test: /\.s[ac]ss$/i,
use: [
// Creates `style` nodes from JS strings
'style-loader',
//postcss here (autoprefixer, babel etc)
// Translates CSS into CommonJS
'css-loader',
// Compiles Sass to CSS
'sass-loader',
],
},
],
},
};

最佳答案

我提出的使用 webpack 和 shopify 进行热重载的解决方案。

在您的 package.json 中,您需要以下脚本

  1. 监视更改的 webpack 构建脚本。我还添加了一个进度参数,这样我就可以看到它何时更新。这将监视您的/src 文件夹的变化。

    "webpack:build": "cross-env NODE_ENV=development webpack --watch --progress",

  2. 一个 shopify 主题服务脚本,用于从/dist 文件夹上传主题文件,该文件夹是 webpack 构建的输出。

    "shopify:serve": "cd dist && shopify theme serve"

  3. 您可以使用以下方法将这两个脚本链接在一起。

    "deploy:serve": "run-p -sr webpack:build shopify:serve"

那么发生的是 webpack 构建脚本监听/src 代码中的更改。当更改是主要的时,它会将输出重新构建到 shopify 主题服务正在监听的/dist 文件夹。更新时,shopify 会上传更改。

瞧。

如果你想尝试,这里是这个实现的 repo - https://github.com/Sambuxc/9119-shopify-theme/

在撰写本文时,我的开发版本是:节点 18.7.0NPM 8.15.0Shopify 客户端 2.21.0

祝你好运,我希望这对 future 的开发者有所帮助。

如果您遇到任何问题,请联系我。

关于javascript - 为 Shopify 开发设置 webpack/HMR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59192738/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com