0

我正在使用 Webpack(laravel 混合版本)并收到 Isotope 错误。谁能看到我做错了什么?

未找到此依赖项:* ./~/isotope-layout/js/layout-modes/masonry.js 中的砌体/砌体

这是我的 webpack 配置,我尝试应用同位素站点上显示的“修复”

const webpack = require('webpack')
const path    = require('path')

const config = {
  resolve: {
    alias: {
      'masonry': 'masonry-layout',
      'isotope': 'isotope-layout'
    }
  },
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, './dist'),
    filename: 'vue-waypoint.js',
    library: 'VueWaypoint',
    libraryTarget: 'umd'
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader'
      },
      {
        test: /\.js$/,
        include: path.resolve(__dirname, './src'),
        exclude: /node_modules/,
        use: "babel-loader"
      }
    ]
  },
  plugins: [
    new webpack.optimize.UglifyJsPlugin(),
    new webpack.LoaderOptionsPlugin({ minimize: true })
  ]
}

module.exports = config;
4

1 回答 1

0

这很奇怪,看起来您尝试在代码中重命名 npm 包masonry-layoutisotope-layout但别名与文件夹和路径有关(https://webpack.js.org/configuration/resolve/#resolve-alias

你可以简单地使用: require('masonry-layout')或者import Istotope from 'masonry-layout'当你这样做时npm i masonry-layout --save

或者您可以将“masonry-layout”作为全局包传递:

new webpack.ProvidePlugin({masonry: 'masonry-layout'})

于 2017-05-03T15:54:09.520 回答