Coder Social home page Coder Social logo

Comments (16)

gwuhaolin avatar gwuhaolin commented on June 14, 2024

相对路径是支持的,你可以参考这个#4
放到CSS文件夹JS文件夹的这有个demo

stylePublicPath用法和output.publicPath的完全一样。只不过output.publicPath默认是针对所有文件的,stylePublicPath是准对css文件的。stylePublicPathAutoWebPlugin的属性里配置,
下面这个例子分别把JS、CSS、IMG放到不同的CDN下,代码如下:

const CND = {
  js: `//7.url.cn/edu/${name}/`,
  css: `//8.url.cn/edu/${name}/`,
  img: `//9.url.cn/edu/${name}/`
};

const autoPlugin = new AutoWebPlugin('./src/pages/', {
  // 所有的css文件都放在8.url.cn
  stylePublicPath: CND.css,
});

module.exports = {
  entry: autoPlugin.entry({
    vendor: './src/assets/vendor',
  }),
  output: {
    path: path.resolve(__dirname, `public/cdn/${name}`),
    publicPath: CND.js,
    filename: '[name]_[chunkhash].js',
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        // 提取出css
        loaders: ExtractTextPlugin.extract({
          // 通过css加载的文件都放在9.url.cn
          publicPath: CND.img,
          fallback: 'style-loader',
          // 压缩css
          use: ['css-loader?minimize'],
        }),
      },
      {
        test: /\.(gif|png|jpe?g|eot|woff|ttf|svg|pdf)$/,
        loader: 'file-loader',
      },
    ]
  },
}

以上。希望能解决你的问题帮到你。有建议欢迎贡献,用的开心告诉你的朋友。

from web-webpack-plugin.

numa001 avatar numa001 commented on June 14, 2024

谢谢你的热心回复。。可能我的需求比较偏。貌似还是无法满足。
image

当然还有C.D等很多。

from web-webpack-plugin.

gwuhaolin avatar gwuhaolin commented on June 14, 2024

你看看这个两个demo

有没有和你相识的地方,如果没有你可以再把你的需求写详细点,我愿意为你写一个demo

from web-webpack-plugin.

numa001 avatar numa001 commented on June 14, 2024

谢谢,我仔细琢磨了,AutoWebPlugin 基本上能满足我的需求。
但是有个小BUG:

image

分离不出图片

此外:我还有个小要求。。
AutoWebPlugin 自动探测html入口 ,现在只能自动探测入口下的一级文件夹,能不能探测二级,三级。

from web-webpack-plugin.

gwuhaolin avatar gwuhaolin commented on June 14, 2024

要在HTML里加载本地文件,文件路径前要加./用于区分这不是加载webpack里的chunk,代码如下

<img src="./local/path.png">

把所有页面都放在同一级是一个很好的习惯,因为这便于管理和维护,目录整齐规范。如果你非要这么干,你可以手动为每个页面写一个WebPlugin

from web-webpack-plugin.

numa001 avatar numa001 commented on June 14, 2024

<a href=""><img src="./img/math.png" alt="math"></a>
我拿你的代码测试过。。前面加了个A标签就不行了。

且如何把分离出的图片放到指定文件夹里去。

from web-webpack-plugin.

gwuhaolin avatar gwuhaolin commented on June 14, 2024

已经修复,请升级到 1.8.5 版本

from web-webpack-plugin.

numa001 avatar numa001 commented on June 14, 2024

还有个小问题,如何把分离出来的图片放到指定的文件夹里去?

from web-webpack-plugin.

gwuhaolin avatar gwuhaolin commented on June 14, 2024

目前只有通过webpack加载的图片可以指定输出目录,直接加载本地的还不支持。

from web-webpack-plugin.

numa001 avatar numa001 commented on June 14, 2024

...这样html 里的图片一多,生成后都放在dist根目录下。太乱了。。

from web-webpack-plugin.

gwuhaolin avatar gwuhaolin commented on June 14, 2024

我支持下加个配置属性

from web-webpack-plugin.

numa001 avatar numa001 commented on June 14, 2024

chunks: A1,A2,A3 共用一个A.js
chunks: B1,B2,B3 共用一个B.js
commonsChunk 该怎么写? 貌似不行(只能写一个)。。

from web-webpack-plugin.

gwuhaolin avatar gwuhaolin commented on June 14, 2024

这个你就不能使用AutoWebPlugin提供的commonsChunk选项了,因为AutoWebPlugin提供的commonsChunk选项只能是针对AutoWebPlugin找到的所有页面提取公共代码。
如果你想要动态灵活的提取任何几个页面的代码,你需要直接额外的用CommonsChunkPlugin去提取。其实AutoWebPlugin的提取公共代码的实现就是使用CommonsChunkPlugin

AutoWebPlugin会为它找到的每个页面生成一个名叫这个页面目录的chunk。你可以提前这些chunk的公共部分来提取任意页面的公共代码。

from web-webpack-plugin.

numa001 avatar numa001 commented on June 14, 2024

新增 配置属性 : 分离出html里的图片到指定目录 功能可以用了吗?

from web-webpack-plugin.

numa001 avatar numa001 commented on June 14, 2024

分离出html里的图片到指定目录 功能 , 不好操作的话。 能不能在源代码里面写死?代码在那个地方(我看了源代码好久都找不到。。)

from web-webpack-plugin.

gwuhaolin avatar gwuhaolin commented on June 14, 2024

大概在这里
https://github.com/gwuhaolin/web-webpack-plugin/blob/master/lib/Resource.js#L250

我最近有点忙,你要是等不急可以自己尝试着改下提merge。

from web-webpack-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.