用於文件、子文件的 Webpack 加載器並將它們添加到跟踪列表 (Webpack loader for file, subfiles and add them to tracking list)


問題描述

用於文件、子文件的 Webpack 加載器並將它們添加到跟踪列表 (Webpack loader for file, subfiles and add them to tracking list)

我在第 3 方應用程序中創建了地圖+tilemap 項目。整個項目是一組文件,主文件(XML)代表 2D 遊戲關卡地圖,其他一些文件(子文件)代表圖形和瓷磚地圖。

我正在嘗試創建一個 Webpack Loader,它將將整個地圖/tilemap 項目編譯並轉換為 JSON 對象,在 javascript 中使用起來很舒服。而且我仍然不知道如何:

  1. 如何訪問子文件(取自主文件的相對路徑),訪問當前目錄的方法是什麼(在哪裡放置主文件),以及主文件的名稱?

  2. 如何向Webpack解釋跟踪所有子文件的變化,


    參考解法

    方法 1:

    For the first question, webpack loader is expose the file info by this, you can do like this:

    module.exports = function (source) {
      const loaderContext = this;
      const { sourceMap, rootContext, resourcePath } = loaderContext;
      const sourceRoot = path.dirname(path.relative(context, resourcePath));
      ...
    }
    

    For the second question, i think that maybe you can use the module.hot to track the subfiles change, like this:

    if (module.hot) {
      module.hot.accept('filepath', ()=>{
        ...
      })
    }
    

    (by Epsiloncoolwuliu)

    參考文件

    1. Webpack loader for file, subfiles and add them to tracking list (CC BY‑SA 2.5/3.0/4.0)

#Webpack #javascript #webpack-dev-server #node.js #webpack-loader






相關問題

Babel 6 轉換運行時:$export 不是函數 (Babel 6 transform-runtime: $export is not a function)

Webpack 和 Sass 正確處理 background: url() 圖像,但是在與 webpack-dev-server 一起使用時找不到它 (Webpack and Sass correctly processes background: url() image but then it's not found when used with webpack-dev-server)

Babel 和 ES6 出現意外的“Uncaught TypeError: XXX is not a constructor”錯誤 (Unexpected "Uncaught TypeError: XXX is not a constructor" errors with Babel and ES6)

Webpack bundle ENOENT:沒有這樣的文件或目錄 fs.readdirSync (Webpack bundle ENOENT: no such file or directory fs.readdirSync)

有沒有辦法通過替換一些資產和組件從單個應用程序構建多個應用程序? (Is there a way to build multiple apps from single one with replacing some assets and components?)

Babel 7 不能正確轉換 index.js (Babel 7 don't convert index.js properly)

使用 Yarn 安裝的軟件包開始出現 sweetalert2 之類的錯誤 (packages installed with Yarn start to give error like sweetalert2)

找不到模塊 RecipeStyle.css (cannot find module RecipeStyle.css)

用於文件、子文件的 Webpack 加載器並將它們添加到跟踪列表 (Webpack loader for file, subfiles and add them to tracking list)

Webpack:沒有加載器來處理 SCSS 是輸入存在 (Webpack: no loader to handle the SCSS is input is present)

Webpack 在初始構建後不構建捆綁包 (Webpack not building bundle after initial build)

從其他機器訪問 webpack DevServer 子 URL 時出現 ERR_SSL_PROTOCOL_ERROR (ERR_SSL_PROTOCOL_ERROR when accessing webpack DevServer sub-URLs from a different machine)







留言討論