当前位置: 首页 > 知识库问答 >
问题:

WebPack-bundle/copy所有资产到build或dist文件夹

聂奇
2023-03-14

我试图使用webpack来处理一个电子应用程序的构建。我希望有一个index.html,它使用脚本标记导入/要求reactclient.js文件,并使该client.js文件及其所需文件需要整个应用程序。

我的文件夹结构如下所示:

Project
  |
  | --/app
  |
  | ----/gui
  | ------/flux
  | ------/fonts
  | ------/html
  | ------/images
  | ------/react
  | 
  | ----/lib
  | ------ /custom-modules ...
  | ----package.json (application)
  |
  |
  | --/dist
  | .babelrc
  | webpack.config.js
  | package.json (dev)

我想在./app中开发应用程序,运行webpack或webpack-dev-server,并在./dist中有一个完整的应用程序的功能副本。

module.exports = {
  context: path.join(__dirname, '/app'),
  devtool: debug ? 'inline-sourcemap' : null,
  entry: {
    main: './webpack-hook.js'
  },
  output: {
    publicPath: '/assets/',
    path: path.join(__dirname, '/dist/'),
    filename: 'js/gui.js'
  },
  module: {
    loaders: [
      {
        test: /\.js?$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel-loader',
        query: {
          presets: ['react', 'es2015', 'stage-0'],
          plugins: ['react-html-attrs', 'transform-class-properties', 'transform-decorators-legacy']
        }
      },
      {
        test: /\.html$/,
        loader: 'file-loader?name=[name].[ext]'
      },
      {
        test: /\.css$/,
        loader: 'file-loader?name=css/[name].[ext]'
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader?name=images/[name].[ext]'
      },
      {
        test: /\.(ttf)$/,
        loader: 'file-loader?name=fonts/[name].[ext]'
      }
    ]
  }
}

共有1个答案

白迪
2023-03-14

Webpack是一个JavaScript绑定程序;所有其他花哨的加载器和插件都试图使它不仅仅是一个捆绑工具,但它不是为捆绑而设计的。这就是为什么如果你试图把它当作一个完整的构建工具来对待,它会如此令人困惑。

它的神奇之处在于遍历JavaScript模块的依赖项。然后每个依赖项都经过一个加载器。所以:

webpack-hook.js → "main" JS bundle
↓
./gui/html/index.html → file-loader → dist folder

没有其他依赖项,因为webpack-hook没有任何其他依赖项。除非有其他神奇的插件/加载器可以解析HTML的依赖项,否则这就是webpack所能做的一切。

 类似资料:
  • loginpage.dart 资产档案包括 错误是 在pubspec中检测到错误。yaml:未找到资产:资产/图像的文件或变体。 失败:构建失败,有一个异常。 > 其中:脚本'C:\Src\flatter\packages\flatter\u tools\gradle\flatter。格雷德尔线:991 错误:任务“:app:compileFlutterBuildDebug”的执行失败。 处理“命

  • 我最近升级到了Webpack4。页面正在成功加载,无论何时发生更改,它都会使用webpack dev server自动刷新页面。它做得很好,但在控制台中显示以下错误 GEThttp://localhost:8090/build/bundle.js404(未找到) 有些时候,当URL中有id时,它会将id附加到捆绑js url中,如下所示 http://localhost:8090/16/build

  • copy-webpack-plugin 可以将已存在的单个文件或整个目录复制到 Webpack 的构建目录。 首先,需要安装copy-webpack-plugin: npm install copy-webpack-plugin --save-dev 然后将插件添加到webpack配置中: webpack.config.js const CopyPlugin = require("copy-web

  • Webpack Bundle Analyzer Visualize size of webpack output files with an interactive zoomable treemap. Install # NPMnpm install --save-dev webpack-bundle-analyzer# Yarnyarn add -D webpack-bundle-analyze

  • 我有一个reactjs应用程序,它在开发环境中运行良好。我是说,当我使用 它运行在localhost:8080中,没有任何问题。 当我试着用下面的命令执行同样的操作,在AWS S3的某个地方生成一个静态托管的分发文件夹。这就是问题所在。 下面是我执行上述命令时的输出文件夹结构: dist bundle.js bundle.js.map 公众的 index.html 我已经看过这些帖子(关于我得到的

  • 我试图用webpack实现以下目标 简而言之,我有两个切入点: app.js和app2.js null 我的webpack配置在这里: 完整的项目在这里:https://github.com/mydiscogr/webpack-babel-config/