【问题标题】:How can I use webpack to copy files to the distribution folder?如何使用 webpack 将文件复制到分发文件夹?
【发布时间】:2016-04-06 18:19:42
【问题描述】:

在我的 index.html 中,我需要包含一个 JS 和 CSS 文件。它们必须包含在其中,并且不能被要求或导入。我怎样才能让 webpack 抓取我需要的文件并将它们放在 dist 文件夹中?

【问题讨论】:

    标签: javascript css reactjs webpack


    【解决方案1】:

    来自https://github.com/calitek/BasicStarterWP;
    webpack.config.js

    var path = require('path');
    var ExtractTextPlugin = require("extract-text-webpack-plugin");
    
    const ROOT_PATH = path.resolve(__dirname);
    const SRC_PATH = path.resolve(ROOT_PATH, 'ui-src', 'app.js');
    const DIST_PATH = path.resolve(ROOT_PATH, 'ui-dist');
    
    module.exports = {
    
      entry: SRC_PATH,
    
      output: {
        path: DIST_PATH,
        filename: "app.js"
      },
    
      module: {
        loaders: [
          {
            test: /\.js$/,
            exclude: /(node_modules)/,
            loader: 'babel',
            query: {presets:[ 'es2015', 'react', 'stage-0' ]}
          },
          {test: /\.css$/, loader: ExtractTextPlugin.extract("css-loader")},
          {test: /\.(png|jpg|ico)$/, loader: 'file-loader?name=img/[name].[ext]'},
          {test: /\.(html)$/, loader: 'file-loader?name=[name].[ext]'}
        ]
      },
      plugins: [new ExtractTextPlugin('app.css', {allChunks: true})],
      resolve: {extensions: [ '', '.js' ]}
    };
    package.json
      "dependencies": {
        "express": "latest",
        "react": "^0.14",
        "react-dom": "^0.14",
        "serve-favicon": "latest"
      },
      "devDependencies": {
        "babel-core": "latest",
        "babel-loader": "^6.1.0",
        "babel-preset-es2015": "latest",
        "babel-preset-react": "latest",
        "babel-preset-stage-0": "latest",
        "css-loader": "latest",
        "extract-text-webpack-plugin": "latest",
        "file-loader": "latest",
        "webpack": "latest"
      }
    app.js
    'use strict';
    
    require("./index.html");
    require("./css/index.css");
    require("./img/favicon.ico");
    
    import React from 'react';
    import ReactDom  from 'react-dom';
    
    import AppCtrl from './components/app.ctrl';
    
    window.ReactDom = ReactDom;
    
    ReactDom.render( <AppCtrl />, document.getElementById('react') );

    【讨论】:

    • 解决了我的问题。谢谢!
    猜你喜欢
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    相关资源
    最近更新 更多