Hurricane Maria has caused severe flooding on Puerto Rico, plunging the island into darkness as the storm's death toll in the Caribbean rose to at least ten.

It is the strongest storm to strike Puerto Rico in nearly 90 years.

Maria, the second major hurricane to pass through the region this month, was left weakened by its encounter with Puerto Rico and its course is projected to pass north of the Dominican Republic, the Miami-based US National Hurricane Center said.

Hours earlier, Maria hit St Croix, the largest and southern-most of the US Virgin Islands, as a rare Category 5 hurricane on the five-step Saffir-Simpson scale, causing widespread heavy damage.

Moving on to Puerto Rico ranked a Category 4 storm, with sustained winds of up to 250km/h, Maria ripped roofs from buildings and turned low-lying roadways into debris-laden rivers as it cut a diagonal swath across the island.

Puerto Rico's governor, Ricardo Rossello, said the only fatality immediately reported was a man struck by a piece of lumber hurled by high winds.

The streets of Puerto Rico's historic Old Town in the capital, San Juan, were strewn with broken balconies, air conditioning units, shattered lamp posts, fallen power lines and dead birds.

Few trees escaped unscathed. Thick branches were torn down from most and others were simply uprooted.

"It's nothing short of a major disaster," Mr Rossello said in a CNN interview, adding it may take months for the island's electricity to be completely restored.

Earlier he imposed a dusk-to-dawn curfew for the island.

The NHC reported "catastrophic flash flooding" in portions of the island, and news pictures showed whole blocks under water in areas of the capital.

"When we are able to go outside, we are going to find our island destroyed," Abner Gomez, the director of the island's emergency management agency, was quoted as saying by El Nuevo Dia newspaper.

"It's a system that has destroyed everything in its path."

Virtually the entire island was without electricity as night fell, said Pedro Cerame, a spokesman for the governor.

By 11pm local time (4am Irish time), Maria's centre was drifting away from Puerto Rico.

As is typical for hurricanes passing over hilly or mountainous terrain, Maria was markedly diminished by the time it crossed Puerto Rico.

However the storm has since regained major hurricane strength near the eastern Dominican Republic, the NHC said.

The category 3 hurricane was about 90km north of Punta Cana, Dominican Republic, with maximum sustained winds of 185km/h, the NHC said.

Maria is expected to skirt past the northeastern coast of the Dominican Republic before approaching the Turks and Caicos Islands and southeastern Bahamas tonight and tomorrow.

So far, it looks unlikely to threaten the US mainland.

Storm-related rainfall was expected to range from 50 to 76cm on much of Puerto Rico through Friday.

Maria was classified a Category 5 storm when it struck the eastern Caribbean island nation of Dominica on Monday night with devastating force, killing at least seven people there, government officials.

Based on an aerial survey, about 95% of roofs in Dominica, one of the poorest countries in the Caribbean with a population of about 73,000, were damaged or destroyed by Maria, the UN Office for the Coordination of Humanitarian Affairs said.

It added damage to the island could be in the billions of dollars.

Hartley Henry, principal adviser to Prime Minister Roosevelt Skerrit, said in a Facebook post yesterday that "the country is in a daze."

Two people died in the French territory of Guadeloupe before Maria hit St Croix.

Hurricane Irma, which ranked as one of the most powerful Atlantic storms on record, also left a trail of destruction in several Caribbean islands and Florida this month, killing at least 84 people.