2.9 KiB
2.9 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
589690e6f9fc0f352b528e6e | Clean Up Your Project with Modules | 2 | Limpe seu projeto com módulos |
Description
module.exports = function (app, db) {Agora, na parte superior do arquivo do servidor, exija esses arquivos como:}
const routes = require('./routes.js');
Logo após estabelecer uma conexão bem-sucedida com o banco de dados instancie cada um deles como: routes(app, db)
Por fim, pegue todas as rotas do seu servidor e cole-as nos novos arquivos e remova-os do arquivo do servidor. Também tome o ensureAuthenticated desde que criamos essa função de middleware para roteamento especificamente. Agora você terá que adicionar corretamente as dependências usadas, como const passport = require('passport');
, bem no topo acima da linha de exportação no seu arquivo routes.js. Continue adicionando-os até que não haja mais erros, e seu arquivo de servidor não tenha mais nenhum roteamento! Agora, faça a mesma coisa no seu arquivo auth.js com todas as coisas relacionadas à autenticação, como a serialização e a configuração da estratégia local e apague-as do arquivo do servidor. Certifique-se de adicionar as dependências e chamar auth(app,db)
no servidor no mesmo local. Certifique-se de ter auth(app, db)
antes das routes(app, db)
já que a nossa rota de registro depende do passaporte ser iniciado! Parabéns, você está no final desta seção do Advanced Node and Express e tem um belo código para mostrar! Envie sua página quando achar que está certo. Se você estiver com erros, confira um exemplo do projeto concluído aqui . Instructions
Tests
tests:
- text: Módulos presentes
testString: 'getUserInput => $.get(getUserInput("url")+ "/_api/server.js") .then(data => { assert.match(data, /require.*("|").\/routes.js("|")/gi, "You should have required your new files"); assert.match(data, /mongo.connect[^]*routes/gi, "Your new modules should be called after your connection to the database"); }, xhr => { throw new Error(xhr.statusText); })'
Challenge Seed
Solution
// solution required