#gruntjs
#gruntjs
Вопрос:
Я новичок в использовании grunt, пожалуйста, укажите шаги по интеграции grunt с динамическим веб-проектом (webcontent).
Комментарии:
1. Я предлагаю вам использовать командную строку, это очень просто. создать вас gruntfile.js и будьте счастливы
2. не могли бы вы, пожалуйста, привести пример структуры
3. Я ответил ниже за вас.
Ответ №1:
хорошо, я постараюсь вам помочь.
создайте файл с именем Gruntfile.js в корне вашего проекта:
измените путь в соответствии с вашим проектом.
module.exports = function(grunt) {
var config = {};
//src ===============================
var src;
config.src = src = {
sassMain: 'scss/main.scss',
distFolder: 'public/stylesheets/app.dist.css',
devFolder: 'public/stylesheets/app.dev.css',
sassFolder: 'scss/**/*.scss',
serverPort: 8000
};
//Concat ===============================
var concat
config.concat = concat = {};
concat.dev = {
files: {
"public/myapp.development.js": [
"with-bootstrap/public/js/vendor", "with-bootstrap/public/js/**/*.js"
]
}
};
//Watch ===============================
config.watch = {
scripts: {
files: ["<%= src.sassFolder %>"],
tasks: ["sass:dist"]
}
}
//Sass ===============================
var sass;
config.sass = sass = {};
//distribution
sass.dist = {
options: {
style: "compressed",
noCache: true,
sourcemap: 'none',
update: true
},
files: {
"<%= src.distFolder %>": "<%= src.sassMain %>"
}
};
//development env.
sass.dev = {
options: {
style: "expanded",
lineNumber: true,
},
files: {
"<%= src.devFolder %>": "<%= src.sassMain %>"
}
};
//grunt serve ===============================
config.connect = {
server: {
options: {
livereload: true,
port: "<%= src.serverPort %>"
}
}
};
//Register custom tasks ===============================
grunt.registerTask('default', ['dev']);
grunt.registerTask('dev', ['concat:dev', 'sass:dev']);
grunt.registerTask('dist', ['concat:dev', 'sass:dist']);
grunt.registerTask('serve', ['connect:server', 'watch']);
require('time-grunt')(grunt);
require('load-grunt-tasks')(grunt, {
scope: 'devDependencies'
});
//General setup ===============================
grunt.initConfig(config);
};
в корне вашего проекта запустите: npm init
заполните информацией о вашем проекте.
после этого откройте файл package.json, в который мы сейчас включим задачи grunt для установки.
"devDependencies": {
"grunt": "*",
"grunt-contrib-concat": "*",
"grunt-contrib-connect": "^1.0.2",
"grunt-contrib-sass": "*",
"grunt-contrib-watch": "*",
"grunt-exec": "^1.0.1",
"load-grunt-tasks": "^3.5.0",
"time-grunt": "^1.3.0",
"express": "^4.14.0"
}
запустите npm install
для установки задач grunt и зависимостей npm.
имейте в виду, что на вашем компьютере должны быть установлены grunt и npm.
в любом случае, дайте мне знать, если это помогло вам.
удачи
Комментарии:
1. Спасибо Raduken, это помогло мне. Если я укажу полный путь к файлу, он будет работать нормально, например config.watch = { scripts: { files: ‘D:/PROJ/Webcontent/App/view/mypage.html ‘, задачи: [«sass: dist»] } } Как я могу указать полный путь к проекту для таких файлов, как для всех файлов js, html и css
2. насколько я понимаю, вам не нужно указывать путь, подобный D:/PROJ ….., пример вашего gruntfile.js будет внутри D:/PROJ итак, вам нужно посмотреть, где находятся ваши js и css для настройки.