如何在 Cookiecutter Django 中启用 SASS 编译?

How do I enable SASS Compiling in Cookiecutter Django?

在 cookiecutter-django 的文档中 relating to SASS Compiling and Live Reload 声明我只需在主项目文件夹中输入 "npm start"(当然是在安装 npm 之后)以启用 Live-Reload 和 SASS 编译。我想知道如果没有 package.json 文件这怎么可能,但还是尝试了一下,也许是一些我不知道的隐藏的东西。但是 npm init 当然告诉我缺少 package.json。我用 bootstrap 编译和启用 gulp 初始化了一个新项目,结果相同。仍然没有package.json。我错过了一些关键点吗?或者这种情况下的文档可能不完整?我从哪里获得所需的 package.json? :)

在最开始的项目生成中,您可能在"js_task_runner"这一步选择了"None"。如果你在这里选择 "Gulp" ,它会生成 gulpfile.js 和 package.json 文件,之后你就可以使用 npm install.

如其他答案中所述,当您启动项目然后为任务 运行 选项选择 none 时,它将不起作用。请参阅 cookiecutter-django documentationjs_task_runner

请问你在哪里试过运行npm install? package.json 文件位于应用程序的根目录中,因此您必须从那里执行 运行 命令。

之后应该可以手动添加所需的文件。在应用程序的根目录中创建一个 package.json 文件并添加以下代码。重要提示:将名称更改为您的应用名称。

{
  "name": "CHANGE_TO_NAME_OF_YOUR_APP",
  "version": "0.1.0",
  "dependencies": {},
  "devDependencies": {
    "bootstrap": "4.1.1",
    "gulp-concat": "^2.6.1",
    "jquery": "3.3.1",
    "popper.js": "1.14.3",
    "autoprefixer": "^9.4.7",
    "browser-sync": "^2.14.0",
    "cssnano": "^4.1.10",
    "gulp": "^4.0.0",
    "gulp-imagemin": "^5.0.3",
    "gulp-plumber": "^1.2.1",
    "gulp-postcss": "^8.0.0",
    "gulp-rename": "^1.2.2",
    "gulp-sass": "^4.0.2",
    "gulp-uglify-es": "^1.0.4",
    "pixrem": "^5.0.0"
  },
  "engines": {
    "node": ">=8"
  },
  "browserslist": [
    "last 2 versions"
  ],
  "scripts": {
    "dev": "gulp"
  }
}

由于此项目使用 gulp.js as task runner you need additionally to the package.json also a gulpfile.js file. Code from this 示例应该可行。还要检查 name_of_your_app/static/sass/project.scss.

中是否有 scss 文件

现在您应该能够在第一步中 运行 npm install 并在第二步中使用 npm run dev 编译 scss(参见 documentation)。