我已经尝试了一整天让这个负载工作,但我被难住了。我的grunt.js文件在下面,我确保在html文件的末尾添加了我的脚本。有什么想法吗?
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.initConfig({
uglify: {
my_target: {
files: {
'_/js/script.js' : ['_/components/js/script.js']
}//files
} //mytarget
}, //uglify
watch: {
options : { livereload: true },
scripts: {
files: ['_/components/js/*.js'],
tasks: ['uglify']
}, //scripts
html: {
files: ['*.html']
}//html
}//watch
}) // initconfig
grunt.registerTask('default', 'watch');
} //exports发布于 2014-03-19 16:09:20
尝试使用浏览器extension进行livereload。
发布于 2014-08-13 00:35:13
我为你录制了一小段gif动画截屏。在这里,我展示了如何通过npm安装依赖模块,以及如何在启用livereload的情况下构建项目。
截屏视频位于上
我的工具版本是NPM 1.4.21和NodeJS v0.10.30
这是我的Gruntfile.js和评论
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
// Delete contents before the full build
clean: {
dist: ['dist', 'dist/js'],
html: ['dist/**/*.html']
},
/* Uglify javascript located in app/js/*.js
And copy it to dist/js/main.js
So all JS will be in one file.
P.S. Remember that our js task in uglify is called "js" */
uglify: {
options: {
report: 'min'
},
js: { // task to combine separate files into main.js
files: {
'dist/js/main.js': [
'app/js/**/*.js'
]
}
}
},
copy: { // Just copy HTML files from app folder
html: {
files: [{
expand: true,
cwd: 'app/',
src: ['**/*.html'],
dest: 'dist/',
filter: 'isFile'
}]
},
},
connect: { // Create server that will serve
// requests to our compiled app
dist: {
options: {
port: 3000,
base: 'dist'
}
}
},
watch: { // Most instersting.
// Will be watching for changes in JS and HTML.
options: {
livereload: true
},
js: { // Here you need to specify the same task name
// as in uglify task we thought above
files: ['app/js/**/*.js'], // Which files to uglify and copy
tasks: ['newer:uglify'] // Do it
},
copy: { // Remove old html and copy new to dist folder
files: ['app/**/*.html'],
tasks: ['clean:html','newer:copy:html']
}
},
});
// Load all grunt modules with one command
require('load-grunt-tasks')(grunt);
grunt.registerTask('build', [
'clean:dist', // Remove all
'uglify', // Uglify all
'copy' // Copy all HTML
]);
grunt.registerTask('default', [
'build', // Build the project
'connect:dist', // Start server
'watch' // Watch for changes
]);
};这是package.json,没有任何评论(一切都足够清楚了)
{
"engines": {
"node": ">= 0.10.0"
},
"devDependencies": {
"grunt": "~0.4.5",
"grunt-contrib-clean": "0.5.0",
"grunt-contrib-connect": "~0.8.0",
"grunt-contrib-copy": "~0.5.0",
"grunt-contrib-uglify": "~0.5.0",
"grunt-contrib-watch": "~0.6.1",
"grunt-newer": "~0.7.0",
"load-grunt-tasks": "~0.6.0"
},
"scripts": {
"preinstall": "npm cache clear"
}
}发布于 2014-03-20 08:31:29
有几个选项可以让实时重新加载工作:
中间件浏览器扩展:http://feedback.livereload.com/knowledgebase/articles/86242-how-do-i-install-and-use-the-browser-extensions-
<script src="//localhost:35729/livereload.js"></script>
详细信息:
https://github.com/gruntjs/grunt-contrib-watch#live-reloading
https://stackoverflow.com/questions/22498743
复制相似问题