Создал новый простой проект Compass/Bootstrap с Yeoman. Файлы SCSS работают нормально & компилируются в public/css/main.css. Я вижу, что Gruntfile.js (ниже) просматривает файлы компаса, но не файлы js. Я просто хочу, чтобы Grunt скомпилировал Bootstrap.js в public/js /. Попытка провести исследование & изменить файл, но мне не повезло.Компиляция Bootstrap JS с Grunt. Отрегулируйте Gruntfile.js, чтобы следить за изменениями
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
config: {
app: 'app'
},
connect: {
options: {
port: 9000,
livereload: 35729,
// Change this to '0.0.0.0' to access the server from outside
hostname: 'localhost'
},
livereload: {
options: {
open: true,
base: [
'.tmp',
'<%= config.app %>/public'
]
}
},
},
watch: {
options: {
livereload: true,
},
livereload: {
options: {
livereload: '<%= connect.options.livereload %>'
},
files: [
'<%= config.app %>/public/{,*/}*.html',
'<%= config.app %>/public/css/{,*/}*.css',
'<%= config.app %>/public/images/{,*/}*'
]
},
compass: {
files: ['**/*.{scss,sass}'],
tasks: ['compass:dev']
},
},
compass: {
dev: {
options: {
sassDir: ['app/src/stylesheets'],
cssDir: ['app/public/css'],
environment: 'development'
}
},
prod: {
options: {
sassDir: ['app/src/stylesheets'],
cssDir: ['app/public/css'],
environment: 'production'
}
},
}
});
// Load the plugin
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-connect');
// Additional
grunt.loadNpmTasks('grunt-serve');
// Default task(s).
//grunt.registerTask('default', ['connect:livereload', 'compass:dev', 'watch']);
grunt.registerTask('serve', ['connect:livereload', 'compass:dev', 'watch']);
// prod build
grunt.registerTask('prod', ['compass:prod']);
};
Уверен, что это так же просто, как для какого-то ружья Grunt?
Спасибо Hardik, который отлично работает сейчас. Я мог видеть, что Gruntfile.js не просматривал файлы js, но я не был уверен в правильной задаче (uglify, jshintrc и т. Д.)? Относительно дополнительного файла сценария js в том же каталоге. Я бы использовал его так же, как базовый файл SCSS, где он вызывает другие (частичные)? // = требуется ./bootstrap/affix // = требуется ./bootstrap/alert // = требуется ./bootstrap/button Еще раз спасибо за вашу помощь. – Kerry7777
Эй, Керри. Часть 'js' в функции' watch' будет следить за всеми изменениями, внесенными вами в любом из файлов каталога _app/src/javascripts/_. Затем он выполнит задачу 'concat', чтобы обновить код в файле concatenated ** app.js **. Вам не нужно следовать моде SCSS для частичных. Вы можете просто создать новый файл рядом с ** bootstrap.js **, а затем добавить путь к файлу в задаче 'concat'. Например, если ваш новый файл называется ** custom.js **, обновите массив 'src []' таким образом: 'src: ['app/src/javascripts/bootstrap.js', 'app/src/javascripts/custom.js '] ' – Hardik
Хардик, сейчас все начинает собираться вместе. Спасибо чувак! – Kerry7777