0

我有一个app.js主文件:

const express = require('express')
const app = express()
app.use(express.json())

var bodyParser = require('body-parser')

app.use(bodyParser.urlencoded({
    extended: true
}))

var multer = require('multer')
var path = require('path')  

app.get('/', function (req, res) {
    // Do something 
})

app.get('/api/get_entities', function (req, res) {
    // Do something else
})  

我怎样才能把它分解成不同的文件。也许是这样的:

main_imports.js

const express = require('express')
const app = express()
app.use(express.json())

var bodyParser = require('body-parser')  

do_this.js

app.use(bodyParser.urlencoded({
    extended: true
}))  

this_too.js

app.get('/api/get_entities', function (req, res) {
    // Do something else
})  

all_app.js

main_imports.js
do_this.js  
this_too.js

谢谢大家。

更新

我正在寻找可以像PHP include(或require)一样工作的东西,这样我就不必使用命名空间了。

我希望最终文件成为所有功能的转储,而不必这样做:

var do_this = require('./do_this');
console.log(typeof do_this.foo);  

而只是有:

all_app.js终于有了:

const express = require('express')
const app = express()
app.use(express.json())

var bodyParser = require('body-parser')

app.use(bodyParser.urlencoded({
    extended: true
}))

var multer = require('multer')
var path = require('path')  

app.get('/', function (req, res) {
    // Do something 
})

app.get('/api/get_entities', function (req, res) {
    // Do something else
})  
4

1 回答 1

0
fs.readFile(__dirname+'/app.js','utf8',(err,data)=>{
        cuts=data.split('\n'); //split the data w.r.t line breaks and store in an array


        })

现在 js 文件的内容存储在一个数组中。获取要包含在文件中的点的索引。然后-

 fs.writeFileSync(__dirname+'/main_imports.js',cuts.splice(0,x));

其中 x 是最后一行或您的文件的索引。对您要创建的所有文件重复此过程。这也可以在循环中完成,但是您希望所有文件名都不同,所以手动进行。

于 2018-12-27T06:38:25.857 回答