Saiss.js v0.10 قم بإنشاء مشروع جديد - الرابط لا يعمل. لم يتم استخدام Gruntfile.js

StackOverflow https://stackoverflow.com//questions/22042260

  •  21-12-2019
  •  | 
  •  

سؤال

مع الإصدار الافتراضي من الأشرعة على npm (الإصدار 9؟) --linker يعمل بشكل جيد، أي.يقوم بإنشاء مجلد / رابط.يمكنني نسخ ملفات js وcss إلى assets/linker/ ويظهرون فيها layout.ejs تلقائيا.

لقد قمت الآن بتثبيت الأشرعة v0.10 محليًا وعالميًا.باستخدام العقدة V0.10.25.لقد قمت بإنشاء مشروع أشرعة جديد باستخدام:

أشرعة اسم المشروع الجديد --linker

ولكن لم يتم إنشاء مجلد /linker.كان علي أن أخلق /.tmp لأنه لم يكن موجودًا ، اضطررت إلى إنشائها /.tmp/public/linker/ لوضع /js & /stylesوإضافتها يدويًا إلى layout.ejs

لقد قمت بإعادة تسميتها Gruntfile.js ولا يزال برنامجي يعمل وبالتالي فإن Gruntfile لا يفعل شيئًا في البرنامج.

هل كانت مفيدة؟

المحلول

لم يعد Sails v0.10 يستخدم مجلد الرابط - لقد كان يسبب الارتباك فقط.إذا قمت بتمكين خيار الرابط، فسيتم حذف أي أصول ضمن نطاقك assets سيتم نسخ المجلد إلى ملفك .tmp/public المجلد بواسطة Grunt عند رفع الأشرعة.سيتم إنشاء المجلد العام بواسطة Grunt حسب الضرورة.ال grunt-sync ستقوم المهمة بعد ذلك بالحفاظ على مزامنة المجلدات طالما أن البرنامج قيد التشغيل.

لا تعتمد مشاريع Sails على Grunt، لذا فإن إعادة تسمية ملف Gruntfile (أو إزالته بالكامل) لن يوقف البرنامج عن العمل، لكن هذا لا يعني أنه لا يفعل أي شيء عندما يكون موجودًا!لمعرفة ما يفعله Grunt، يمكنك رفع الأشرعة باستخدامه sails lift --verbose.

نصائح أخرى

كإضافة إلى إجابة sgress454، فإن سبب إنشاء مجلد .tmp هو أنه يمكن تجميع ملفات مثل ejs وملفات أقل في تنسيقات يفهمها متصفحك.إنها مشابهة للطريقة التي تقوم فيها بتجميع Java، حيث يتم تحويلها إلى Java bytecode (مجرد تشبيه، وبالتأكيد ليست نفس العملية). ليس من الضروري أن يكون هناك أي مجلد .tmp عندما لا تقوم بتشغيل الخادم؛هذا شيء ينشئه Grunt وهو ما يقرأ منه المتصفح.نأمل أن يوضح هذا الأمور أكثر قليلا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top