gpt4 book ai didi

javascript - 将 RequireJS 模块 (AMD) 重构为 Webpack 模块 (CommonJS)

转载 作者:行者123 更新时间:2023-12-03 03:23:32 31 4
gpt4 key购买 nike

我需要重构一堆具有这样的调用的文件

define(['module1','module2','module3' etc...], function(a, b, c etc...) {

//bunch of code

return Something;

});

var a = require('module1');
var b = require('module2');
var c = require('module3');

//bunch of code

module.exports = Something;

看起来是一个非常简单的任务,99% 的代码都遵循这种模式,但我只是不能使用正则表达式,因为我无法用它来平衡括号。

我已经弄清楚了文件遍历,在一项繁重的任务中,我只需要转换文件并将其写回。

grunt.registerTask('refactor', '', function() {
//traverse all files
grunt.file.recurse('./src/js/views', function callback(abspath, rootdir, subdir, filename) {
var c;
//only care about .js files
if(filename.match(/\.js$/)){
console.log(subdir, filename);
c = grunt.file.read(abspath); //read file

//modify it
c = c + "\n/* Comment appended! */";

grunt.file.write(abspath, c); //write it back
}

});

grunt.log.write("DONE").ok();
});

这是一项一次性工作,所以我正在寻找一种快速但肮脏的解决方案,无论如何我都必须手动检查所有文件,我只是想节省一些时间。

最佳答案

正则表达式不是完成这项工作的工具。

你应该使用某种js解析器,而且有很多。有一些与修改代码相关的短语,code-mod & code-shift

看看that tool

关于javascript - 将 RequireJS 模块 (AMD) 重构为 Webpack 模块 (CommonJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46460768/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com