代码之家  ›  专栏  ›  技术社区  ›  Lluís Puig Ferrer

使用node\u modules/.bin/webpack时无法读取未定义(mix.initialize())的属性

  •  3
  • Lluís Puig Ferrer  · 技术社区  · 7 年前

    node_modules/.bin/webpack 我得到了这个错误:

    Mix.initialize();       
       ^       
    TypeError: Cannot read property 'initialize' of undefined      
    at Object.<anonymous> (/home/vagrant/Code/stream/webpack.config.js:9:4)            
    at Module._compile (module.js:570:32)      
    at Object.Module._extensions..js (module.js:579:10)      
    at Module.load (module.js:487:32)  
    at tryModuleLoad (module.js:446:12)      
    at Function.Module._load (module.js:438:3)       
    at Module.require (module.js:497:17)      
    at require (internal/module.js:20:19)      
    at requireConfig 
    (/home/vagrant/Code/stream/node_modules/webpack/bin/convert-argv.js:97:18)     
    at /home/vagrant/Code/stream/node_modules/webpack/bin/convert-argv.js:104:17    
    

    webpack.mix.js :

    let mix = require('laravel-mix').mix;       
    mix.js('resources/assets/js/app.js', 'public/js')      
    .sass('resources/assets/sass/app.scss', 'public/css');    
    

    webpack.config.js

    var path = require('path');       
    var webpack = require('webpack');      
    var Mix = require('laravel-mix').config;    
    var plugins = require('laravel-mix').plugins;    
    Mix.initialize();
    

    https://laracasts.com/series/learn-vue-2-step-by-step/episodes/26?autoplay=true

    03:29坠机,非常感谢您的帮助。

    3 回复  |  直到 7 年前
        1
  •  2
  •   Jaroslav Klimčík    7 年前

    在最新版本的laravel mix中,您不需要mix属性。根据图书馆 documentation 你只需要在webpack.mix中。js文件:

    let mix = require('laravel-mix');
    

    也在包装中。json在部分脚本中,您应该具有使用laravel mix的供应商文件的路径(如果您不需要自定义配置),例如:

      "scripts": {
         "dev": "webpack --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
      },
    
        2
  •  2
  •   Lluís Puig Ferrer    7 年前

    在视频中,他拿走了一些包裹。json。(包括laravel mix)之后,他安装了laravel mix 0.3版本。

    因此,当我创建laravel项目时,我不会删除laravel mix(版本为“0”。。如果我这样做,并且运行npm,那么运行dev总是很好。

    我不明白为什么他之前删除了软件包并安装了它,然后这么做了

    cp -r node_modules/laravel-mix/setup/** ./
    

    希望这对某人有用。

        3
  •  2
  •   murribu    7 年前

    1. laravel new stream --dev
    2. $ cd stream
    3. $ npm install
    4. $ npm install babel-loader sass-loader vue-loader --save-dev
    5. $ cp node_modules/laravel-mix/setup/webpack.config.js ./
    6. 打开/webpack.config。让它看起来像这样:

      require('./node_modules/laravel-mix/src/index');
      require(Mix.paths.mix());
      Mix.dispatch('init', Mix);
      let WebpackConfig = require('./node_modules/laravel-mix/src/builder/WebpackConfig');
      module.exports = new WebpackConfig().build();
      
    7. node_modules/.bin/webpack

    8. 在视频中1:32左右拿起它