至此,如果要进行开发,将面临如下问题:
为了解决上面的问题,在编译openWRT的时候, 已经选择安装了ftp服务器,这里就可以利用ftp自动同步,保证本地代码与虚拟机中的machine同步,实时看到运行结果。
从虚拟机中将/usr/lib/lua
和/www
拉到本地,建立如下文件目录,其中www目录是前端代码存放的地方,lua目录下我们基本上只需要关注luci目录;
app
-- lua
-- www
Gruntfile.js
package.json
安装grunt-ftp-deploy, 按照官网配置ftp连接key,并配置Gruntfile:
watch: {
luci: {
files: ['<%= config.app %>lua/**/*'],
tasks: ['ftp-deploy:luci']
},
www: {
files: ['<%=config.app%>www/**/*'],
tasks: ['ftp-deploy:www']
}
},
'ftp-deploy': {
luci: {
auth: {
// host: '192.168.115.136',
host: '192.168.1.1',
port: 21,
authKey: 'key1',
forceVerbose: false
},
src: '<%= config.app%>lua',
dest: '<%= config.remote %>usr/lib/lua',
exclusions: ['{,*/}.DS_Store', '{,*/}Thumbs.db', '{,*/}.svn'],
keep: ['{,*/}*.so']
},
www: {
auth: {
// host: '192.168.115.136',
host: '192.168.1.1',
port: 21,
authKey: 'key1',
forceVerbose: false
},
src: '<%= config.app%>www',
dest: '<%= config.remote %>www',
exclusions:['<%=config.app%>www/luci-static/web/vendors/*','{,*/}.DS_Store', '{,*/}Thumbs.db', '{,*/}.svn']
}
}
每次运行grunt的watch task, 当有代码变动时,就会自动同步到虚拟机的machine中了;