来自“资产”文件夹的Sails.JS部分加载问题

时间:2018-08-08 08:27:56

标签: node.js angular sails.js

我正在使用Sails.JS作为后端,并使用Angular 6作为前端。在应用程序的homepage.ejs中,我需要从资产文件夹中加载HTML:

<!DOCTYPE html>
 <html>

 <!-- webpack generate html -->
 <%- partial('../assets/dist/index.html') %>

</html>

但是,访问http://localhost:1337/时出现错误:

F:\ development \ SchoolERP \ views \ pages \ homepage.ejs:5 3 | 4 | >> 5 | <%-partial('../ assets / dist / index.html')%> 6 | 7 |在Object.partial上找不到部分../assets/dist/index.html(F:\ development \ SchoolERP \ node_modules \ sails \ lib \ hooks \ views \ default-view-rendering-fn.js:305:11)

但是,我的Angular 6 URL在http://localhost:4200上运行良好。

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题,In Sails documentation说,当您提起您的应用程序时,资产目录的内容将移至 .tmp / public ,这意味着您的角度脚本在获取后考虑到这一点,我按照以下步骤解决了构建的问题:

http://localhost:1337/dist/index.html

  1. 修改后的homepage.ejs如下:

     // Ichange this line:
     <%- partial('../assets/dist/index.html') %>
     // for this one:
     <%- include ../../.tmp/public/dist/index.html %>
     // You just have to add the relative path for index.html
     // generated when you lift sails
    
  2. 我在config / http.js中未注释以下行:

    order: [
     'cookieParser',
     'session',
     'bodyParser',
     'compress',
     // 'poweredBy',
     'router',
     'www',
     'favicon',
    ],    
    
  3. 告诉您在哪里可以找到他的脚本,因此请使用以下命令构建您的ng-app:

    $ ng build --base-href /dist/
    
  4. 现在抬起您的应用,角度将在http://localhost:1337/

希望这对您有帮助!