无法运行收集静态 ,"references a file which could not be found: js/canvas-to-blob.min.js.map"



我正试图在heroku上部署一个django-react应用程序,该应用程序使用whiteoise来处理静态文件,使用cloudinary来处理媒体文件,但当我尝试运行python manage.py collectstatic时,它会返回一个错误'js\canvas to blob.min.js'引用了一个找不到的文件,因此,我使用find-static命令查找静态文件,发现它位于virtualenv文件夹(venv\Lib\site-packages\cloudinary\static\js\load-image.all.min.js(中,属于cloudinary,当我注释掉它的所有内容时,collectstatic工作正常,请有任何方法来修复错误。

#installed apps
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
# 'whitenoise.runserver_nostatic',
'django.contrib.staticfiles',
'cloudinary_storage',
'cloudinary',
'rest_framework',
'corsheaders',
'django_summernote',
'blog.apps.BlogConfig'
]
#cloudinary storage settings
CLOUDINARY_STORAGE = {
'CLOUD_NAME': env('CLOUD_NAME'),
'API_KEY': env('API_KEY'),
'API_SECRET': env('API_SECRET'),
'STATICFILES_MANIFEST_ROOT': BASE_DIR/'static'
}
DEFAULT_FILE_STORAGE = 'cloudinary_storage.storage.MediaCloudinaryStorage'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

这不是cloudinarystaticjsload-image.all.min.js在虚拟环境中的真正问题。问题是cloudinary包显然没有提供.map文件cloudinarystaticjsload-image.all.min.js.map

Django 4将文件发现更改为也查找源映射文件,参见例如。https://code.djangoproject.com/ticket/33353

目前,您可以使用Django==3.2.13并等待cloudinary更新。

作为一种快速有效的解决方法,您可以简单地添加空的"canvas到blob.min.js.map";接近";canvas到blob.min.js";文件

相关内容

最新更新