Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 使用Vue pdf时出现意外的令牌错误_Laravel_Webpack_Single Page Application_Vue Pdf - Fatal编程技术网

Laravel 使用Vue pdf时出现意外的令牌错误

Laravel 使用Vue pdf时出现意外的令牌错误,laravel,webpack,single-page-application,vue-pdf,Laravel,Webpack,Single Page Application,Vue Pdf,我正在与Laravel和Vue创建一个SPA,并尝试使用Vue pdf。我已经成功地集成了几个npm包,但这一个给了我一个错误: Uncaught SyntaxError: Unexpected token '<' 任何帮助都将不胜感激。您是否有示例存储库可供查看?您是指vue pdf存储库吗?如果是:不,我的意思是根据您的代码复制错误的最小工作示例。我不太熟悉webpack配置,但您遇到的错误是因为正如您所提到的,您的worker.js作为常规HTML页面返回。MIME类型不匹配也是如

我正在与Laravel和Vue创建一个SPA,并尝试使用Vue pdf。我已经成功地集成了几个npm包,但这一个给了我一个错误:

Uncaught SyntaxError: Unexpected token '<'

任何帮助都将不胜感激。

您是否有示例存储库可供查看?您是指vue pdf存储库吗?如果是:不,我的意思是根据您的代码复制错误的最小工作示例。我不太熟悉webpack配置,但您遇到的错误是因为正如您所提到的,您的worker.js作为常规HTML页面返回。MIME类型不匹配也是如此。发生这种情况是因为该文件在该位置不存在,而您的Laravel应用程序正在提供。所以根本原因可能是你的网页配置,因为你的构建文件不正确。我刚刚在一个项目上试用了vue pdf,没有问题,但是我的webpack.mix.js要简单得多。也许试试这个问题需要更多的解释。我刚刚用mix在一个laravel项目上安装了vue pdf,它可以正确传输。My worker.js文件名的前缀是哈希。如果您在请求worker.js时得到一个带有404的HTML页面,可能它没有被构建,或者它的前缀是编译时哈希。您是否有一个示例存储库要查看?您是指vue pdf存储库吗?如果是:不,我的意思是根据您的代码复制错误的最小工作示例。我不太熟悉webpack配置,但您遇到的错误是因为正如您所提到的,您的worker.js作为常规HTML页面返回。MIME类型不匹配也是如此。发生这种情况是因为该文件在该位置不存在,而您的Laravel应用程序正在提供。所以根本原因可能是你的网页配置,因为你的构建文件不正确。我刚刚在一个项目上试用了vue pdf,没有问题,但是我的webpack.mix.js要简单得多。也许试试这个问题需要更多的解释。我刚刚用mix在一个laravel项目上安装了vue pdf,它可以正确传输。My worker.js文件名的前缀是哈希。如果您在请求worker.js时得到一个带有404的HTML页面,可能它没有被构建,或者它的前缀是编译时哈希。
const path = require('path')
const fs = require('fs-extra')
const mix = require('laravel-mix')
require('laravel-mix-versionhash')
// const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer')

mix
  .js('resources/js/app.js', 'public/dist/js')
  .sass('resources/sass/app.scss', 'public/dist/css')
  .sass('resources/sass/flowy.scss', 'public/dist/css')

mix.babel([
  'resources/js/helpers/Date.js',
  'resources/js/helpers/LoginRedirect.js'
], 'public/assets/js/combined.js')

  .disableNotifications()

if (mix.inProduction()) {
  mix
    // .extract() 
    // .version() 
    .versionHash()
} else {
  mix.sourceMaps()
}

mix.webpackConfig({
  plugins: [
    // new BundleAnalyzerPlugin()
  ],
  resolve: {
    extensions: ['.js', '.json', '.vue'],
    alias: {
      '~': path.join(__dirname, './resources/js')
    }
  },
  output: {
    chunkFilename: 'dist/js/[chunkhash].js',
    path: mix.config.hmr ? '/' : path.resolve(__dirname, './public/build')
  }
})

mix.then(() => {
  if (!mix.config.hmr) {
    process.nextTick(() => publishAseets())
  }
})

function publishAseets () {
  const publicDir = path.resolve(__dirname, './public')

  if (mix.inProduction()) {
    fs.removeSync(path.join(publicDir, 'dist'))
  }

  fs.copySync(path.join(publicDir, 'build', 'dist'), path.join(publicDir, 'dist'))
  fs.removeSync(path.join(publicDir, 'build'))
}