The United States has attacked a Syrian air base with 50-60 cruise missiles in response to a chemical weapons attack it blames on President Bashar Assad.