Ignoring files in a Meteor JS project directory

試著忘記壹切 提交于 2019-12-18 01:29:14

问题


I have a JavaScript based library I'd like to include in a Meteor JS application. The library source code is hosted in a Git repository and I'd like to include the repo as a submodule in my own source code repo for my Meteor app. However, I don't need a majority of the files included processed by Meteor, only a few select ones. Indeed Meteor barfs with "Error: Couldn't parse .. um .. some HTML file, on some line. sorry" when it sees many of the files in the submodule.

Is there a way to selectively whitelist or blacklist files for inclusion into the Meteor app inside the project directory? Apart from creating a Smart Package, are there ways in which I could include external resources such as Git submodules inside my Meteor app project directory.

Update: as explained in the related question of "How to create a package", if you create a Smart Package into a local Git checkout of Meteor itself, you get the hot-reload behaviour for the code in the package.


回答1:


In addition to the /public directory that jonathan mentions, Meteor also ignores any directories that begin with a "." - so you could create a .submodules directory and put the files in there and Meteor won't load them.

This is probably preferable to having them in /public since, well, they're not public.




回答2:


Update: in the upcoming release of Meteor (0.6.5) there is a private directory in which you can put files that are inaccessible to the client and not automatically loaded on the server. The Assets global object and API allows you to read these files.




回答3:


There is also now support for a .meteorignore file (Meteor v1.5.2.1). It works exactly the same as a .gitignore.

You can use them in any directory of your project and are fully integrated with the file watching system.




回答4:


No, the only way to do this is write an import script.

There is a /public dir you can use to have all the files in if you didn't know of that.

Personally however I wouldn't consider this an issue as surely you don't just want to import files in based on a certain path, if they changed their code to add a new required file yours would break too. That is not something I would want to find out on deploy, rather plan for each change of version of the dependency.




回答5:


It sounds a bit odd, but in Meteor 1.3 there is the..

/imports

..directory, that is not automatically included by meteor.

It is 'meant'/suggested by the name, to be for modules that you 'import' from your other code. But you can just as well use it for your own app code, and I think it is a better name for app code than /private, but that is my personal opinion :-)



来源:https://stackoverflow.com/questions/10423430/ignoring-files-in-a-meteor-js-project-directory

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!