2

我尝试使用npm run development但我成为跟随错误。

配置对象无效。Webpack 已使用与 API 模式不匹配的配置对象进行初始化。
 - configuration.entry 应该是以下之一:
   对象 { : 非空字符串 | [非空字符串] } | 非空字符串 | [非空字符串] | 功能
   -> 编译的入口点。
   细节:
    * configuration.entry['/js/app'] 应该是一个字符串。
      -> 字符串被解析为启动时加载的模块。
    * configuration.entry['/js/app'] 不应包含两次 '.../resources/assets/sass/app.scss' 项。
    * configuration.entry 应该是一个字符串。
      -> 一个没有名字的入口点。该字符串被解析为在启动时加载的模块。
    * configuration.entry 应该是一个数组:
      [非空字符串]
    * configuration.entry 应该是函数的一个实例
      -> 一个返回入口对象、入口字符串、入口数组或对这些东西的承诺的函数。

我的 webpack.mix.js

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

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.scripts([
    'public/assets/js/jquery-3.3.1.min.js',
    'public/assets/js/popper.min.js',
    'public/assets/js/bootstrap.min.js',
    'public/assets/js/moment.min.js',
    'public/assets/js/sweetalert.min.js',
    'public/assets/js/delete.handler.js',
    'public/assets/plugins/js-cookie/js.cookie.js',
    'public/vendor/jsvalidation/js/jsvalidation.js',
    'public/assets/plugins/bootstrap-datepicker/bootstrap-datepicker.min.js',
    'public/assets/plugins/croppie/croppie.js'
], 'public/assets/js/vendor.js');

mix.styles([
    'public/assets/css/fontawesome-all.min.css',
    'public/assets/plugins/bootstrap-datepicker/bootstrap-datepicker.min.css',
    'public/assets/plugins/croppie/croppie.css',
], 'public/assets/css/vendor.css');

mix.sass('resources/assets/sass/app.scss', 'public/assets/css');

mix.copy('node_modules/toastr/build/toastr.min.js', 'public/vendor/toastr/toastr.min.js'); 

mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css');

if (mix.inProduction()) {
    mix.version();
}
4

1 回答 1

0

与其复制所有的包(jQuery、Popper、Bootstrap、Moment),不如编译大部分资产?

npm i jquery
npm i bootstrap
npm i @fortawesome/fontawesome-free
npm i moment, etc.

然后在你的/resources/js/bootstrap.js你可以包含这些包。

try {
    window.Popper = require('popper.js').default;
    window.$ = window.jQuery = require('jquery');

然后运行。

npm run prod
于 2019-07-02T07:33:24.490 回答