webpack
webpack
- 
    
当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
 - 
    
在 Webpack 当中, 所有的资源都被当作是模块, js, css, 图片等等.. 因此, Webpack 当中 js 可以引用 css, css 中可以嵌入图片 dataUrl
 
对应各种不同文件类型的资源, Webpack 有对应的模块 loader
- webpack引用模块的规则是依据CommonJS的
    
webpack配置文件
webpack有一个配置文件,叫webpack.config.js,遵循CommonJS
 - 
    
最基本的形式
// webpack.config.js module.exports = { entry: './main.js', output: { filename: 'bundle.js' } };这里将main作为打包入口,打包成bundle.js
 
有了webpack配置文件,就可以直接调用webpack了
- 
    
resolve.entension
例子当中 resolve.extensions 用于指明程序自动补全识别哪些后缀, 注意一下, extensions 第一个是空字符串! 对应不需要后缀的情况.
// webpack.config.js module.exports = { entry: './a.js', output: { filename: 'b.js' }, resolve: { extensions: ['', '.coffee', '.js'] } } - 
    
css及图片的引用
实际上 CSS 被转化为 style 标签, 而图片可能被转化成 base64 格式的 dataUrl 但是要主要在 webpack.config.js 文件写好对应的 loader
 
// webpack.config.js
module.exports = {
  entry: './main.js',
  output: {
    path: './build', // This is where images AND js will go
    publicPath: 'http://mycdn.com/', // This is used to generate URLs to e.g. images
    filename: 'bundle.js'
  },
  module: {
    loaders: [
      { test: /\.less$/, loader: 'style-loader!css-loader!less-loader' }, // use ! to chain loaders
      { test: /\.css$/, loader: 'style-loader!css-loader' },
      {test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192'} // inline base64 URLs for <=8k images, direct URLs for the rest
    ]
  }
};
注意module.loaders里的写法就是,识别这些结尾的文件,然后用对应的loader进行处理