Closed w0330t closed 5 years ago
不大清楚你的意思,麻烦提供运行环境、代码实例。
Windows 10操作系统下
对本项目下的gulpfile.js
文件
更改dist的路径配置,var dist = __dirname + "/dist";
为var dist = "C:/dist";
然后使用终端命令npm run dev
,在"C:/dist"
下会生成如下文件:
│ app.json
│ app.wxss
│
├─assets
│ └─images
│ └─icon
│ search.png
│
├─components
│ ├─search
│ │ search.json
│ │ search.wxml
│ │ search.wxss
│ │
│ └─watch
│ watch.json
│ watch.wxml
│ watch.wxss
│
└─pages
├─index
│ index.json
│ index.wxml
│ index.wxss
│
├─logs
│ logs.json
│ logs.wxml
│ logs.wxss
│
└─watch
watch.json
watch.wxml
watch.wxss
里面没有任何一个js文件,而js文件全部都在/项目名/dist
里面
│ app.js
│ app.json
│ app.wxss
│
├─api
│ common.js
│ login.js
│
├─assets
│ └─images
│ └─icon
│ search.png
│
├─components
│ ├─search
│ │ search.js
│ │ search.json
│ │ search.wxml
│ │ search.wxss
│ │
│ └─watch
│ watch.js
│ watch.json
│ watch.wxml
│ watch.wxss
│
├─config
│ cgi-config.js
│ global-config.js
│
├─npm
│ ├─miniprogram-computed
│ │ index.js
│ │
│ └─miniprogram-watch
│ index.js
│
├─pages
│ ├─index
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │
│ ├─logs
│ │ logs.js
│ │ logs.json
│ │ logs.wxml
│ │ logs.wxss
│ │
│ └─watch
│ watch.js
│ watch.json
│ watch.wxml
│ watch.wxss
│
└─utils
│ util.js
│
└─request
check-session.js
index.js
gulpfile.zip 附上更改的gulpfile.js文件。
js文件走的npm打包,你需要自行修改下npm函数相关的路径
我更改了gulp.task("npm"
和gulp.task(”tsCompile“
内的相关路径,编译后的/mpn
文件夹就丢失了,我也不知道怎么下手了,只知道可能和您写的function npm(options)
有关……
附上更改后的代码
gulpfile.zip
其实不大明白你要改路径是因为什么,能把背景说清楚一些么
因为某些原因我需要把调试机和开发机分离 我本来在开发上做了一个共享,由调试机调用,结果调试机的微信IDE直接报错,打不开项目。 然后我只能在调试机上做了共享给开发机。要么就改gulp的代码把编译好的代码直接发送到那个盘符里,要么手动每次编译之后复制一份过去q_q
写个脚本把dist丢过去不就好了?
可以在gulp上解决的东西我为啥要另外弄一个脚本……虽然也很简单
gulp上你也可以写个脚本将生成的东西转移..
又发现一个BUG,估计是gulp4的api改过了
gulp.task("watch", () => {
gulp.watch(tsPath, gulp.series("tsCompile"));
var watcher = gulp.watch(copyPath, gulp.series("copyChange"));
// gulp.watch(nodeModulesCopyPath, gulp.series("copyNodeModulesChange"));
gulp.watch(watchLessPath, gulp.series("less")); //Change
watcher.on("change", function(event) {
if (event.type === "deleted") {
var filepath = event.path;
var filePathFromSrc = path.relative(path.resolve("src"), filepath);
// Concatenating the 'build' absolute path used by gulp.dest in the scripts task
var destFilePath = path.resolve("dist", filePathFromSrc);
// console.log({filepath, filePathFromSrc, destFilePath})
del.sync(destFilePath);
}
});
});
这段代码里面的删除代码是不会运行的
watcher.on("change", function(event) {
if (event.type === "deleted") {
根据官方文档的说法,这个位置应该是用“unlink”
而不是用“change”
,同时第一个参数直接就是删除文件的path,这个path是一个string。他们还写了一个示例
watcher.on('unlink', function(path, stats) {
console.log(`File ${path} was removed`);
});
已修复,更改gulpfile.js
中的builtPath
即可。
默认的gulpfile下,
var dist = __dirname + "/dist";
路径只有一部分生效,更改之后,所有的js文件编译之后仍然在/项目名/dist
目录下,我班门弄斧的把文件所有使用"dist"
的参数改为了dist
,然而npm文件依然没有复制过去……请问应该怎么修改?